home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 August: Tool Chest / Dev.CD Aug 98 TC.toast / Tool Chest / Development Kits / MPW etc. / MPW-GM / Interfaces&Libraries / Interfaces / AIncludes / Movies.a < prev    next >
Encoding:
Text File  |  1998-02-17  |  200.5 KB  |  7,374 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Movies.a
  3. ;
  4. ;    Contains:    QuickTime Interfaces.
  5. ;
  6. ;    Version:    Technology:    QuickTime 3.0
  7. ;                Release:    Universal Interfaces 3.1
  8. ;
  9. ;    Copyright:    © 1990-1998 by Apple Computer, Inc., all rights reserved
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__MOVIES__') = 'UNDEFINED' THEN
  19. __MOVIES__ SET 1
  20.  
  21.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  22.     include 'Quickdraw.a'
  23.     ENDIF
  24.     IF &TYPE('__ALIASES__') = 'UNDEFINED' THEN
  25.     include 'Aliases.a'
  26.     ENDIF
  27.     IF &TYPE('__EVENTS__') = 'UNDEFINED' THEN
  28.     include 'Events.a'
  29.     ENDIF
  30.     IF &TYPE('__MENUS__') = 'UNDEFINED' THEN
  31.     include 'Menus.a'
  32.     ENDIF
  33.     IF &TYPE('__COMPONENTS__') = 'UNDEFINED' THEN
  34.     include 'Components.a'
  35.     ENDIF
  36.     IF &TYPE('__IMAGECOMPRESSION__') = 'UNDEFINED' THEN
  37.     include 'ImageCompression.a'
  38.     ENDIF
  39.  
  40.  
  41. ;   "kFix1" is defined in FixMath as "fixed1"  
  42. ;  error codes are in Errors.[haa] 
  43. ;  gestalt codes are in Gestalt.[hpa] 
  44.  
  45. MovieFileType                    EQU        'MooV'
  46. MovieScrapType                    EQU        'moov'
  47.  
  48. MovieResourceType                EQU        'moov'
  49. MovieForwardPointerResourceType    EQU        'fore'
  50. MovieBackwardPointerResourceType EQU    'back'
  51.  
  52. MovieResourceAtomType            EQU        'moov'
  53. MovieDataAtomType                EQU        'mdat'
  54. FreeAtomType                    EQU        'free'
  55. SkipAtomType                    EQU        'skip'
  56.  
  57. MediaHandlerType                EQU        'mhlr'
  58. DataHandlerType                    EQU        'dhlr'
  59.  
  60. VideoMediaType                    EQU        'vide'
  61. SoundMediaType                    EQU        'soun'
  62. TextMediaType                    EQU        'text'
  63. BaseMediaType                    EQU        'gnrc'
  64. MPEGMediaType                    EQU        'MPEG'
  65. MusicMediaType                    EQU        'musi'
  66. TimeCodeMediaType                EQU        'tmcd'
  67. SpriteMediaType                    EQU        'sprt'
  68. TweenMediaType                    EQU        'twen'
  69. ThreeDeeMediaType                EQU        'qd3d'
  70. HandleDataHandlerSubType        EQU        'hndl'
  71. ResourceDataHandlerSubType        EQU        'rsrc'
  72. URLDataHandlerSubType            EQU        'url '
  73.  
  74. VisualMediaCharacteristic        EQU        'eyes'
  75. AudioMediaCharacteristic        EQU        'ears'
  76. kCharacteristicCanSendVideo        EQU        'vsnd'
  77. kCharacteristicProvidesActions    EQU        'actn'
  78.  
  79. kUserDataMovieControllerType    EQU        'ctyp'
  80. kUserDataName                    EQU        'name'
  81. kUserDataTextFullName            EQU        '©nam'
  82. kUserDataTextCopyright            EQU        '©cpy'
  83. kUserDataTextInformation        EQU        '©inf'
  84.  
  85. DoTheRightThing                    EQU        0
  86.  
  87. MovieRecord                RECORD 0
  88. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  89. sizeof                     EQU *                    ; size:   $4 (4)
  90.                         ENDR
  91. ; typedef struct MovieRecord *            Movie
  92.  
  93. TrackRecord                RECORD 0
  94. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  95. sizeof                     EQU *                    ; size:   $4 (4)
  96.                         ENDR
  97. ; typedef struct TrackRecord *            Track
  98.  
  99. MediaRecord                RECORD 0
  100. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  101. sizeof                     EQU *                    ; size:   $4 (4)
  102.                         ENDR
  103. ; typedef struct MediaRecord *            Media
  104.  
  105. UserDataRecord            RECORD 0
  106. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  107. sizeof                     EQU *                    ; size:   $4 (4)
  108.                         ENDR
  109. ; typedef struct UserDataRecord *        UserData
  110.  
  111. TrackEditStateRecord    RECORD 0
  112. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  113. sizeof                     EQU *                    ; size:   $4 (4)
  114.                         ENDR
  115. ; typedef struct TrackEditStateRecord *    TrackEditState
  116.  
  117. MovieEditStateRecord    RECORD 0
  118. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  119. sizeof                     EQU *                    ; size:   $4 (4)
  120.                         ENDR
  121. ; typedef struct MovieEditStateRecord *    MovieEditState
  122.  
  123. SpriteWorldRecord        RECORD 0
  124. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  125. sizeof                     EQU *                    ; size:   $4 (4)
  126.                         ENDR
  127. ; typedef struct SpriteWorldRecord *    SpriteWorld
  128.  
  129. SpriteRecord            RECORD 0
  130. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  131. sizeof                     EQU *                    ; size:   $4 (4)
  132.                         ENDR
  133. ; typedef struct SpriteRecord *            Sprite
  134.  
  135. QTTweenerRecord            RECORD 0
  136. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  137. sizeof                     EQU *                    ; size:   $4 (4)
  138.                         ENDR
  139. ; typedef struct QTTweenerRecord *        QTTweener
  140.  
  141. SampleDescription        RECORD 0
  142. descSize                 ds.l    1                ; offset: $0 (0)
  143. dataFormat                 ds.l    1                ; offset: $4 (4)
  144. resvd1                     ds.l    1                ; offset: $8 (8)
  145. resvd2                     ds.w    1                ; offset: $C (12)
  146. dataRefIndex             ds.w    1                ; offset: $E (14)
  147. sizeof                     EQU *                    ; size:   $10 (16)
  148.                         ENDR
  149. ; typedef struct SampleDescription *    SampleDescriptionPtr
  150.  
  151. ; typedef SampleDescriptionPtr *        SampleDescriptionHandle
  152.  
  153. ; typedef Handle                         QTAtomContainer
  154.  
  155. ; typedef long                             QTAtom
  156.  
  157. ; typedef long                             QTAtomType
  158.  
  159. ; typedef long                             QTAtomID
  160.  
  161. ;  QTFloatDouble is the 64-bit IEEE-754 standard
  162. QTFloatDouble            RECORD 0
  163. f                         ds        Float64
  164. sizeof                     EQU *                    ; size:   $8 (8)
  165.                         ENDR
  166.  
  167.  
  168. ;  QTFloatSingle is the 32-bit IEEE-754 standard
  169. QTFloatSingle            RECORD 0
  170. f                         ds        Float32
  171. sizeof                     EQU *                    ; size:   $4 (4)
  172.                         ENDR
  173.  
  174.  
  175.  
  176.  
  177. SoundDescription        RECORD 0
  178. descSize                 ds.l    1                ; offset: $0 (0)        ;  total size of SoundDescription including extra data 
  179. dataFormat                 ds.l    1                ; offset: $4 (4)        ;  sound format 
  180. resvd1                     ds.l    1                ; offset: $8 (8)        ;  reserved for apple use. set to zero 
  181. resvd2                     ds.w    1                ; offset: $C (12)        ;  reserved for apple use. set to zero 
  182. dataRefIndex             ds.w    1                ; offset: $E (14)
  183. version                     ds.w    1                ; offset: $10 (16)        ;  which version is this data 
  184. revlevel                 ds.w    1                ; offset: $12 (18)        ;  what version of that codec did this 
  185. vendor                     ds.l    1                ; offset: $14 (20)        ;  whose  codec compressed this data 
  186. numChannels                 ds.w    1                ; offset: $18 (24)        ;  number of channels of sound 
  187. sampleSize                 ds.w    1                ; offset: $1A (26)        ;  number of bits per sample 
  188. compressionID             ds.w    1                ; offset: $1C (28)        ;  unused. set to zero. 
  189. packetSize                 ds.w    1                ; offset: $1E (30)        ;  unused. set to zero. 
  190. sampleRate                 ds.l    1                ; offset: $20 (32)        ;  sample rate sound is captured at 
  191. sizeof                     EQU *                    ; size:   $24 (36)
  192.                         ENDR
  193. ; typedef struct SoundDescription *        SoundDescriptionPtr
  194.  
  195. ; typedef SoundDescriptionPtr *            SoundDescriptionHandle
  196.  
  197. ;  version 1 of the SoundDescription record
  198. SoundDescriptionV1        RECORD 0
  199. ;  original fields
  200. desc                     ds        SoundDescription ; offset: $0 (0)
  201. ;  fixed compression ratio information
  202. samplesPerPacket         ds.l    1                ; offset: $24 (36)
  203. bytesPerPacket             ds.l    1                ; offset: $28 (40)
  204. bytesPerFrame             ds.l    1                ; offset: $2C (44)
  205. bytesPerSample             ds.l    1                ; offset: $30 (48)
  206. ;  additional atom based fields ([long size, long type, some data], repeat)
  207. sizeof                     EQU *                    ; size:   $34 (52)
  208.                         ENDR
  209. ; typedef struct SoundDescriptionV1 *    SoundDescriptionV1Ptr
  210.  
  211. ; typedef SoundDescriptionV1Ptr *        SoundDescriptionV1Handle
  212.  
  213. TextDescription            RECORD 0
  214. descSize                 ds.l    1                ; offset: $0 (0)        ;  Total size of TextDescription
  215. dataFormat                 ds.l    1                ; offset: $4 (4)        ;  'text'
  216. resvd1                     ds.l    1                ; offset: $8 (8)
  217. resvd2                     ds.w    1                ; offset: $C (12)
  218. dataRefIndex             ds.w    1                ; offset: $E (14)
  219. displayFlags             ds.l    1                ; offset: $10 (16)        ;  see enum below for flag values
  220. textJustification         ds.l    1                ; offset: $14 (20)        ;  Can be: teCenter,teFlush -Default,-Right,-Left
  221. bgColor                     ds        RGBColor        ; offset: $18 (24)        ;  Background color
  222. defaultTextBox             ds        Rect            ; offset: $1E (30)        ;  Location to place the text within the track bounds
  223. defaultStyle             ds        ScrpSTElement    ; offset: $26 (38)        ;  Default style (struct defined in TextEdit.h)
  224. defaultFontName             ds.b    1                ; offset: $3A (58) <-- really an array of length one ;  Font Name (pascal string - struct extended to fit) 
  225.                          ORG 60
  226. sizeof                     EQU *                    ; size:   $3C (60)
  227.                         ENDR
  228. ; typedef struct TextDescription *        TextDescriptionPtr
  229.  
  230. ; typedef TextDescriptionPtr *            TextDescriptionHandle
  231.  
  232. SpriteDescription        RECORD 0
  233. descSize                 ds.l    1                ; offset: $0 (0)        ;  total size of SpriteDescription including extra data 
  234. dataFormat                 ds.l    1                ; offset: $4 (4)        ;   
  235. resvd1                     ds.l    1                ; offset: $8 (8)        ;  reserved for apple use 
  236. resvd2                     ds.w    1                ; offset: $C (12)
  237. dataRefIndex             ds.w    1                ; offset: $E (14)
  238. version                     ds.l    1                ; offset: $10 (16)        ;  which version is this data 
  239. decompressorType         ds.l    1                ; offset: $14 (20)        ;  which decompressor to use, 0 for no decompression 
  240. sampleFlags                 ds.l    1                ; offset: $18 (24)        ;  how to interpret samples 
  241. sizeof                     EQU *                    ; size:   $1C (28)
  242.                         ENDR
  243. ; typedef struct SpriteDescription *    SpriteDescriptionPtr
  244.  
  245. ; typedef SpriteDescriptionPtr *        SpriteDescriptionHandle
  246.  
  247. ThreeDeeDescription        RECORD 0
  248. descSize                 ds.l    1                ; offset: $0 (0)        ;  total size of ThreeDeeDescription including extra data 
  249. dataFormat                 ds.l    1                ; offset: $4 (4)        ;   
  250. resvd1                     ds.l    1                ; offset: $8 (8)        ;  reserved for apple use 
  251. resvd2                     ds.w    1                ; offset: $C (12)
  252. dataRefIndex             ds.w    1                ; offset: $E (14)
  253. version                     ds.l    1                ; offset: $10 (16)        ;  which version is this data 
  254. rendererType             ds.l    1                ; offset: $14 (20)        ;  which renderer to use, 0 for default 
  255. decompressorType         ds.l    1                ; offset: $18 (24)        ;  which decompressor to use, 0 for default 
  256. sizeof                     EQU *                    ; size:   $1C (28)
  257.                         ENDR
  258. ; typedef struct ThreeDeeDescription *    ThreeDeeDescriptionPtr
  259.  
  260. ; typedef ThreeDeeDescriptionPtr *        ThreeDeeDescriptionHandle
  261.  
  262. DataReferenceRecord        RECORD 0
  263. dataRefType                 ds.l    1                ; offset: $0 (0)
  264. dataRef                     ds.l    1                ; offset: $4 (4)
  265. sizeof                     EQU *                    ; size:   $8 (8)
  266.                         ENDR
  267. ; typedef struct DataReferenceRecord *    DataReferencePtr
  268.  
  269. ; --------------------------
  270. ;  Music Sample Description
  271. ;--------------------------
  272.  
  273. MusicDescription        RECORD 0
  274. descSize                 ds.l    1                ; offset: $0 (0)
  275. dataFormat                 ds.l    1                ; offset: $4 (4)        ;  'musi' 
  276. resvd1                     ds.l    1                ; offset: $8 (8)
  277. resvd2                     ds.w    1                ; offset: $C (12)
  278. dataRefIndex             ds.w    1                ; offset: $E (14)
  279. musicFlags                 ds.l    1                ; offset: $10 (16)
  280. headerData                 ds.l    1                ; offset: $14 (20) <-- really an array of length one ;  variable size! 
  281. sizeof                     EQU *                    ; size:   $18 (24)
  282.                         ENDR
  283. ; typedef struct MusicDescription *        MusicDescriptionPtr
  284.  
  285. ; typedef MusicDescriptionPtr *            MusicDescriptionHandle
  286.  
  287.  
  288. kMusicFlagDontPlay2Soft            EQU        $00000001
  289. kMusicFlagDontSlaveToMovie        EQU        $00000002
  290.  
  291.  
  292. dfDontDisplay                    EQU        $01                    ; Don't display the text
  293. dfDontAutoScale                    EQU        $02                    ; Don't scale text as track bounds grows or shrinks
  294. dfClipToTextBox                    EQU        $04                    ; Clip update to the textbox
  295. dfUseMovieBGColor                EQU        $08                    ; Set text background to movie's background color
  296. dfShrinkTextBoxToFit            EQU        $10                    ; Compute minimum box to fit the sample
  297. dfScrollIn                        EQU        $20                    ; Scroll text in until last of text is in view 
  298. dfScrollOut                        EQU        $40                    ; Scroll text out until last of text is gone (if both set, scroll in then out)
  299. dfHorizScroll                    EQU        $80                    ; Scroll text horizontally (otherwise it's vertical)
  300. dfReverseScroll                    EQU        $0100                ; vert: scroll down rather than up; horiz: scroll backwards (justfication dependent)
  301. dfContinuousScroll                EQU        $0200                ; new samples cause previous samples to scroll out 
  302. dfFlowHoriz                        EQU        $0400                ; horiz scroll text flows in textbox rather than extend to right 
  303. dfContinuousKaraoke                EQU        $0800                ; ignore begin offset, hilite everything up to the end offset(karaoke)
  304. dfDropShadow                    EQU        $1000                ; display text with a drop shadow 
  305. dfAntiAlias                        EQU        $2000                ; attempt to display text anti aliased
  306. dfKeyedText                        EQU        $4000                ; key the text over background
  307. dfInverseHilite                    EQU        $8000                ; Use inverse hiliting rather than using hilite color
  308. dfTextColorHilite                EQU        $00010000            ; changes text color in place of hiliting. 
  309.  
  310. searchTextDontGoToFoundTime        EQU        $00010000
  311. searchTextDontHiliteFoundText    EQU        $00020000
  312. searchTextOneTrackOnly            EQU        $00040000
  313. searchTextEnabledTracksOnly        EQU        $00080000
  314.  
  315. k3DMediaRendererEntry            EQU        'rend'
  316. k3DMediaRendererName            EQU        'name'
  317. k3DMediaRendererCode            EQU        'rcod'
  318. ;  progress messages 
  319.  
  320. movieProgressOpen                EQU        0
  321. movieProgressUpdatePercent        EQU        1
  322. movieProgressClose                EQU        2
  323. ;  progress operations 
  324.  
  325. progressOpFlatten                EQU        1
  326. progressOpInsertTrackSegment    EQU        2
  327. progressOpInsertMovieSegment    EQU        3
  328. progressOpPaste                    EQU        4
  329. progressOpAddMovieSelection        EQU        5
  330. progressOpCopy                    EQU        6
  331. progressOpCut                    EQU        7
  332. progressOpLoadMovieIntoRam        EQU        8
  333. progressOpLoadTrackIntoRam        EQU        9
  334. progressOpLoadMediaIntoRam        EQU        10
  335. progressOpImportMovie            EQU        11
  336. progressOpExportMovie            EQU        12
  337.  
  338. mediaQualityDraft                EQU        $0000
  339. mediaQualityNormal                EQU        $0040
  340. mediaQualityBetter                EQU        $0080
  341. mediaQualityBest                EQU        $00C0
  342. ; *****
  343. ;    Interactive Sprites Support
  344. ;****
  345.  
  346. QTEventRecord            RECORD 0
  347. version                     ds.l    1                ; offset: $0 (0)
  348. eventType                 ds.l    1                ; offset: $4 (4)
  349. where                     ds        Point            ; offset: $8 (8)
  350. flags                     ds.l    1                ; offset: $C (12)
  351. sizeof                     EQU *                    ; size:   $10 (16)
  352.                         ENDR
  353. ; typedef struct QTEventRecord *        QTEventRecordPtr
  354.  
  355. QTAtomSpec                RECORD 0
  356. container                 ds.l    1                ; offset: $0 (0)
  357. atom                     ds.l    1                ; offset: $4 (4)
  358. sizeof                     EQU *                    ; size:   $8 (8)
  359.                         ENDR
  360. ; typedef struct QTAtomSpec *            QTAtomSpecPtr
  361.  
  362. ResolvedQTEventSpec        RECORD 0
  363. actionAtom                 ds        QTAtomSpec        ; offset: $0 (0)
  364. targetTrack                 ds.l    1                ; offset: $8 (8)
  365. targetRefCon             ds.l    1                ; offset: $C (12)
  366. sizeof                     EQU *                    ; size:   $10 (16)
  367.                         ENDR
  368. ; typedef struct ResolvedQTEventSpec *    ResolvedQTEventSpecPtr
  369.  
  370. QTActionVarSpec            RECORD 0
  371. actionVarID                 ds.l    1                ; offset: $0 (0)
  372. variableValue             ds.l    1                ; offset: $4 (4)
  373. sizeof                     EQU *                    ; size:   $8 (8)
  374.                         ENDR
  375. ; typedef struct QTActionVarSpec *        QTActionVarSpecPtr
  376.  
  377.  
  378. ;  action constants 
  379.  
  380. kActionMovieSetVolume            EQU        1024                ; (short movieVolume) 
  381. kActionMovieSetRate                EQU        1025                ; (Fixed rate) 
  382. kActionMovieSetLoopingFlags        EQU        1026                ; (long loopingFlags) 
  383. kActionMovieGoToTime            EQU        1027                ; (TimeValue time) 
  384. kActionMovieGoToTimeByName        EQU        1028                ; (Str255 timeName) 
  385. kActionMovieGoToBeginning        EQU        1029                ; no params 
  386. kActionMovieGoToEnd                EQU        1030                ; no params 
  387. kActionMovieStepForward            EQU        1031                ; no params 
  388. kActionMovieStepBackward        EQU        1032                ; no params 
  389. kActionMovieSetSelection        EQU        1033                ; (TimeValue startTime, TimeValue endTime) 
  390. kActionMovieSetSelectionByName    EQU        1034                ; (Str255 startTimeName, Str255 endTimeName) 
  391. kActionMoviePlaySelection        EQU        1035                ; (Boolean selectionOnly) 
  392. kActionMovieSetLanguage            EQU        1036                ; (long language) 
  393. kActionMovieChanged                EQU        1037                ; no params 
  394. kActionTrackSetVolume            EQU        2048                ; (short volume) 
  395. kActionTrackSetBalance            EQU        2049                ; (short balance) 
  396. kActionTrackSetEnabled            EQU        2050                ; (Boolean enabled) 
  397. kActionTrackSetMatrix            EQU        2051                ; (MatrixRecord matrix) 
  398. kActionTrackSetLayer            EQU        2052                ; (short layer) 
  399. kActionTrackSetClip                EQU        2053                ; (RgnHandle clip) 
  400. kActionSpriteSetMatrix            EQU        3072                ; (MatrixRecord matrix) 
  401. kActionSpriteSetImageIndex        EQU        3073                ; (short imageIndex) 
  402. kActionSpriteSetVisible            EQU        3074                ; (short visible) 
  403. kActionSpriteSetLayer            EQU        3075                ; (short layer) 
  404. kActionSpriteSetGraphicsMode    EQU        3076                ; (ModifierTrackGraphicsModeRecord graphicsMode) 
  405. kActionSpritePassMouseToCodec    EQU        3078                ; no params 
  406. kActionSpriteClickOnCodec        EQU        3079                ; Point localLoc 
  407. kActionSpriteTranslate            EQU        3080                ; (Fixed x, Fixed y, Boolean isRelative) 
  408. kActionSpriteScale                EQU        3081                ; (Fixed xScale, Fixed yScale, Fixed aboutX, Fixed aboutY, Boolean isRelative) 
  409. kActionSpriteRotate                EQU        3082                ; (Fixed degrees, Fixed aboutX, Fixed aboutY, Boolean isRelative) 
  410. kActionSpriteStretch            EQU        3083                ; (Fixed p1x, Fixed p1y, Fixed p2x, Fixed p2y, Fixed p3x, Fixed p3y, Fixed p4x, Fixed p4y, Boolean isRelative) 
  411. kActionQTVRSetPanAngle            EQU        4096                ; (float panAngle) 
  412. kActionQTVRSetTiltAngle            EQU        4097                ; (float tiltAngle) 
  413. kActionQTVRSetFieldOfView        EQU        4098                ; (float fieldOfView) 
  414. kActionQTVRShowDefaultView        EQU        4099                ; no params 
  415. kActionQTVRGoToNodeID            EQU        4100                ; (UInt32 nodeID) 
  416. kActionMusicPlayNote            EQU        5120                ; (long sampleDescIndex, long partNumber, long delay, long pitch, long velocity, long duration) 
  417. kActionMusicSetController        EQU        5121                ; (long sampleDescIndex, long partNumber, long delay, long controller, long value) 
  418. kActionMusicPlayTune            EQU        5122                ; (long sampleDescIndex, Handle tuneData ) 
  419. kActionCase                        EQU        6144                ; [(CaseStatementActionAtoms)] 
  420. kActionWhile                    EQU        6145                ; [(WhileStatementActionAtoms)] 
  421. kActionGoToURL                    EQU        6146                ; (C string urlLink) 
  422. kActionSendQTEventToSprite        EQU        6147                ; ([(SpriteTargetAtoms)], QTEventRecord theEvent) 
  423. kActionDebugStr                    EQU        6148                ; (Str255 theString) 
  424. kActionPushCurrentTime            EQU        6149                ; no params 
  425. kActionPushCurrentTimeWithLabel    EQU        6150                ; (Str255 theLabel) 
  426. kActionPopAndGotoTopTime        EQU        6151                ; no params 
  427. kActionPopAndGotoLabeledTime    EQU        6152                ; (Str255 theLabel) 
  428. kActionSpriteTrackSetVariable    EQU        7168                ; (QTAtomID variableID, float value) 
  429. kActionApplicationNumberAndString EQU    8192                ; (long aNumber, Str255 aString ) 
  430.  
  431. kOperandExpression                EQU        1
  432. kOperandConstant                EQU        2
  433. kOperandMovieVolume                EQU        1024
  434. kOperandMovieRate                EQU        1025
  435. kOperandMovieIsLooping            EQU        1026
  436. kOperandMovieLoopIsPalindrome    EQU        1027
  437. kOperandMovieTime                EQU        1028
  438. kOperandTrackVolume                EQU        2048
  439. kOperandTrackBalance            EQU        2049
  440. kOperandTrackEnabled            EQU        2050
  441. kOperandTrackLayer                EQU        2051
  442. kOperandTrackWidth                EQU        2052
  443. kOperandTrackHeight                EQU        2053
  444. kOperandSpriteBoundsLeft        EQU        3072
  445. kOperandSpriteBoundsTop            EQU        3073
  446. kOperandSpriteBoundsRight        EQU        3074
  447. kOperandSpriteBoundsBottom        EQU        3075
  448. kOperandSpriteImageIndex        EQU        3076
  449. kOperandSpriteVisible            EQU        3077
  450. kOperandSpriteLayer                EQU        3078
  451. kOperandSpriteTrackVariable        EQU        3079                ; [QTAtomID variableID] 
  452. kOperandSpriteTrackNumSprites    EQU        3080
  453. kOperandSpriteTrackNumImages    EQU        3081
  454. kOperandSpriteID                EQU        3082
  455. kOperandSpriteIndex                EQU        3083
  456. kOperandSpriteFirstCornerX        EQU        3084
  457. kOperandSpriteFirstCornerY        EQU        3085
  458. kOperandSpriteSecondCornerX        EQU        3086
  459. kOperandSpriteSecondCornerY        EQU        3087
  460. kOperandSpriteThirdCornerX        EQU        3088
  461. kOperandSpriteThirdCornerY        EQU        3089
  462. kOperandSpriteFourthCornerX        EQU        3090
  463. kOperandSpriteFourthCornerY        EQU        3091
  464. kOperandSpriteImageRegistrationPointX EQU 3092
  465. kOperandSpriteImageRegistrationPointY EQU 3093
  466. kOperandQTVRPanAngle            EQU        4096
  467. kOperandQTVRTiltAngle            EQU        4097
  468. kOperandQTVRFieldOfView            EQU        4098
  469. kOperandQTVRNodeID                EQU        4099
  470. kOperandMouseLocalHLoc            EQU        5120                ; [TargetAtoms aTrack] 
  471. kOperandMouseLocalVLoc            EQU        5121                ; [TargetAtoms aTrack] 
  472. kOperandKeyIsDown                EQU        5122                ; [short modKeys, char asciiValue] 
  473. kOperandRandom                    EQU        5123                ; [short min, short max] 
  474.  
  475. kFirstMovieAction                EQU        1024
  476. kLastMovieAction                EQU        1037
  477. kFirstTrackAction                EQU        2048
  478. kLastTrackAction                EQU        2053
  479. kFirstSpriteAction                EQU        3072
  480. kLastSpriteAction                EQU        3083
  481. kFirstQTVRAction                EQU        4096
  482. kLastQTVRAction                    EQU        4100
  483. kFirstMusicAction                EQU        5120
  484. kLastMusicAction                EQU        5122
  485. kFirstSystemAction                EQU        6144
  486. kLastSystemAction                EQU        6152
  487. kFirstSpriteTrackAction            EQU        7168
  488. kLastSpriteTrackAction            EQU        7168
  489. kFirstApplicationAction            EQU        8192
  490. kLastApplicationAction            EQU        8192
  491. kFirstAction                    EQU        1024
  492. kLastAction                        EQU        8192
  493.  
  494. ;  target atom types
  495.  
  496. kTargetMovie                    EQU        'moov'                ; no data 
  497. kTargetTrackName                EQU        'trna'                ; (PString trackName) 
  498. kTargetTrackID                    EQU        'trid'                ; (long trackID) 
  499. kTargetTrackType                EQU        'trty'                ; (OSType trackType) 
  500. kTargetTrackIndex                EQU        'trin'                ; (long trackIndex) 
  501. kTargetSpriteName                EQU        'spna'                ; (PString spriteName) 
  502. kTargetSpriteID                    EQU        'spid'                ; (QTAtomID spriteID) 
  503. kTargetSpriteIndex                EQU        'spin'                ; (short spriteIndex) 
  504. ;  action container atom types
  505.  
  506. kQTEventType                    EQU        'evnt'
  507. kAction                            EQU        'actn'
  508. kWhichAction                    EQU        'whic'
  509. kActionParameter                EQU        'parm'
  510. kActionTarget                    EQU        'targ'
  511. kActionFlags                    EQU        'flag'
  512. kActionParameterMinValue        EQU        'minv'
  513. kActionParameterMaxValue        EQU        'maxv'
  514. kActionListAtomType                EQU        'list'
  515. kExpressionContainerAtomType    EQU        'expr'
  516. kConditionalAtomType            EQU        'test'
  517. kOperatorAtomType                EQU        'oper'
  518. kOperandAtomType                EQU        'oprn'
  519. kCommentAtomType                EQU        'why '
  520. ;  QTEvent types 
  521.  
  522. kQTEventMouseClick                EQU        'clik'
  523. kQTEventMouseClickEnd            EQU        'cend'
  524. kQTEventMouseClickEndTriggerButton EQU    'trig'
  525. kQTEventMouseEnter                EQU        'entr'
  526. kQTEventMouseExit                EQU        'exit'
  527. kQTEventFrameLoaded                EQU        'fram'
  528. kQTEventIdle                    EQU        'idle'
  529. kQTEventRequestToModifyMovie    EQU        'reqm'
  530. ;  flags for the kActionFlags atom 
  531.  
  532. kActionFlagActionIsDelta        EQU        $00000002
  533. kActionFlagParameterWrapsAround    EQU        $00000004
  534. kActionFlagActionIsToggle        EQU        $00000008
  535. ;  constants for kOperatorAtomType IDs (operator types)
  536.  
  537. kOperatorAdd                    EQU        'add '
  538. kOperatorSubtract                EQU        'sub '
  539. kOperatorMultiply                EQU        'mult'
  540. kOperatorDivide                    EQU        'div '
  541. kOperatorOr                        EQU        'or  '
  542. kOperatorAnd                    EQU        'and '
  543. kOperatorNot                    EQU        'not '
  544. kOperatorLessThan                EQU        '<   '
  545. kOperatorLessThanEqualTo        EQU        '<=  '
  546. kOperatorEqualTo                EQU        '=   '
  547. kOperatorNotEqualTo                EQU        '!=  '
  548. kOperatorGreaterThan            EQU        '>   '
  549. kOperatorGreaterThanEqualTo        EQU        '>=  '
  550. kOperatorModulo                    EQU        'mod '
  551. kOperatorIntegerDivide            EQU        'idiv'
  552. kOperatorAbsoluteValue            EQU        'abs '
  553. kOperatorNegate                    EQU        'neg '
  554. ; typedef ComponentInstance             MediaHandler
  555.  
  556. ; typedef ComponentInstance             DataHandler
  557.  
  558. ; typedef Component                     MediaHandlerComponent
  559.  
  560. ; typedef Component                     DataHandlerComponent
  561.  
  562. ; typedef ComponentResult                 HandlerError
  563.  
  564. ;  TimeBase equates 
  565. ; typedef long                             TimeValue
  566.  
  567. ; typedef long                             TimeScale
  568.  
  569. CompTimeValue            RECORD 0
  570. f                         ds        wide
  571. sizeof                     EQU *                    ; size:   $8 (8)
  572.                         ENDR
  573.  
  574.  
  575.  
  576. loopTimeBase                    EQU        1
  577. palindromeLoopTimeBase            EQU        2
  578. maintainTimeBaseZero            EQU        4
  579. ; typedef unsigned long                 TimeBaseFlags
  580.  
  581. TimeBaseRecord            RECORD 0
  582. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  583. sizeof                     EQU *                    ; size:   $4 (4)
  584.                         ENDR
  585. ; typedef struct TimeBaseRecord *        TimeBase
  586.  
  587. CallBackRecord            RECORD 0
  588. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  589. sizeof                     EQU *                    ; size:   $4 (4)
  590.                         ENDR
  591. ; typedef struct CallBackRecord *        QTCallBack
  592.  
  593. TimeRecord                RECORD 0
  594. value                     ds        CompTimeValue    ; offset: $0 (0)        ;  units 
  595. scale                     ds.l    1                ; offset: $8 (8)        ;  units per second 
  596. base                     ds.l    1                ; offset: $C (12)
  597. sizeof                     EQU *                    ; size:   $10 (16)
  598.                         ENDR
  599. ;  CallBack equates 
  600.  
  601. triggerTimeFwd                    EQU        $0001                ; when curTime exceeds triggerTime going forward 
  602. triggerTimeBwd                    EQU        $0002                ; when curTime exceeds triggerTime going backwards 
  603. triggerTimeEither                EQU        $0003                ; when curTime exceeds triggerTime going either direction 
  604. triggerRateLT                    EQU        $0004                ; when rate changes to less than trigger value 
  605. triggerRateGT                    EQU        $0008                ; when rate changes to greater than trigger value 
  606. triggerRateEqual                EQU        $0010                ; when rate changes to equal trigger value 
  607. triggerRateLTE                    EQU        $0014
  608. triggerRateGTE                    EQU        $0018
  609. triggerRateNotEqual                EQU        $001C
  610. triggerRateChange                EQU        0
  611. triggerAtStart                    EQU        $0001
  612. triggerAtStop                    EQU        $0002
  613. ; typedef unsigned short                 QTCallBackFlags
  614.  
  615.  
  616. timeBaseBeforeStartTime            EQU        1
  617. timeBaseAfterStopTime            EQU        2
  618. ; typedef unsigned long                 TimeBaseStatus
  619.  
  620.  
  621. callBackAtTime                    EQU        1
  622. callBackAtRate                    EQU        2
  623. callBackAtTimeJump                EQU        3
  624. callBackAtExtremes                EQU        4
  625. callBackAtInterrupt                EQU        $8000
  626. callBackAtDeferredTask            EQU        $4000
  627. ; typedef unsigned short                 QTCallBackType
  628.  
  629.  
  630. qtcbNeedsRateChanges            EQU        1                    ; wants to know about rate changes 
  631. qtcbNeedsTimeChanges            EQU        2                    ; wants to know about time changes 
  632. qtcbNeedsStartStopChanges        EQU        4                    ; wants to know when TimeBase start/stop is changed
  633. QTCallBackHeader        RECORD 0
  634. callBackFlags             ds.l    1                ; offset: $0 (0)
  635. reserved1                 ds.l    1                ; offset: $4 (4)
  636. qtPrivate                 ds.b    40                ; offset: $8 (8)
  637. sizeof                     EQU *                    ; size:   $30 (48)
  638.                         ENDR
  639. QTSyncTaskRecord        RECORD 0
  640. qLink                     ds.l    1                ; offset: $0 (0)
  641. proc                     ds.l    1                ; offset: $4 (4)
  642. sizeof                     EQU *                    ; size:   $8 (8)
  643.                         ENDR
  644. ; typedef struct QTSyncTaskRecord *        QTSyncTaskPtr
  645.  
  646.  
  647. keepInRam                        EQU        $01                    ; load and make non-purgable
  648. unkeepInRam                        EQU        $02                    ; mark as purgable
  649. flushFromRam                    EQU        $04                    ; empty those handles
  650. loadForwardTrackEdits            EQU        $08                    ;    load track edits into ram for playing forward
  651. loadBackwardTrackEdits            EQU        $10                    ;    load track edits into ram for playing in reverse
  652.  
  653. newMovieActive                    EQU        $01
  654. newMovieDontResolveDataRefs        EQU        $02
  655. newMovieDontAskUnresolvedDataRefs EQU    $04
  656. newMovieDontAutoAlternates        EQU        $08
  657. newMovieDontUpdateForeBackPointers EQU    $10
  658. ;  track usage bits 
  659.  
  660. trackUsageInMovie                EQU        $02
  661. trackUsageInPreview                EQU        $04
  662. trackUsageInPoster                EQU        $08
  663. ;  Add/GetMediaSample flags 
  664.  
  665. mediaSampleNotSync                EQU        $01                    ; sample is not a sync sample (eg. is frame differenced 
  666. mediaSampleShadowSync            EQU        $02                    ; sample is a shadow sync 
  667.  
  668. pasteInParallel                    EQU        $01
  669. showUserSettingsDialog            EQU        $02
  670. movieToFileOnlyExport            EQU        $04
  671. movieFileSpecValid                EQU        $08
  672.  
  673. nextTimeMediaSample                EQU        $01
  674. nextTimeMediaEdit                EQU        $02
  675. nextTimeTrackEdit                EQU        $04
  676. nextTimeSyncSample                EQU        $08
  677. nextTimeStep                    EQU        $10
  678. nextTimeEdgeOK                    EQU        $4000
  679. nextTimeIgnoreActiveSegment        EQU        $8000
  680. ; typedef unsigned short                 nextTimeFlagsEnum
  681.  
  682.  
  683. createMovieFileDeleteCurFile    EQU        $80000000
  684. createMovieFileDontCreateMovie    EQU        $40000000
  685. createMovieFileDontOpenFile        EQU        $20000000
  686. createMovieFileDontCreateResFile EQU    $10000000
  687. ; typedef unsigned long                 createMovieFileFlagsEnum
  688.  
  689.  
  690. flattenAddMovieToDataFork        EQU        $00000001
  691. flattenActiveTracksOnly            EQU        $00000004
  692. flattenDontInterleaveFlatten    EQU        $00000008
  693. flattenFSSpecPtrIsDataRefRecordPtr EQU    $00000010
  694. flattenCompressMovieResource    EQU        $00000020
  695. flattenForceMovieResourceBeforeMovieData EQU $00000040
  696. ; typedef unsigned long                 movieFlattenFlagsEnum
  697.  
  698.  
  699. movieInDataForkResID            EQU        -1                    ; magic res ID 
  700.  
  701. mcTopLeftMovie                    EQU        $01                    ; usually centered 
  702. mcScaleMovieToFit                EQU        $02                    ; usually only scales down 
  703. mcWithBadge                        EQU        $04                    ; give me a badge 
  704. mcNotVisible                    EQU        $08                    ; don't show controller 
  705. mcWithFrame                        EQU        $10                    ; gimme a frame 
  706.  
  707. movieScrapDontZeroScrap            EQU        $01
  708. movieScrapOnlyPutMovie            EQU        $02
  709.  
  710. dataRefSelfReference            EQU        $01
  711. dataRefWasNotResolved            EQU        $02
  712. ; typedef unsigned long                 dataRefAttributesFlags
  713.  
  714.  
  715. hintsScrubMode                    EQU        $01                    ; mask == && (if flags == scrub on, flags != scrub off) 
  716. hintsLoop                        EQU        $02
  717. hintsDontPurge                    EQU        $04
  718. hintsUseScreenBuffer            EQU        $20
  719. hintsAllowInterlace                EQU        $40
  720. hintsUseSoundInterp                EQU        $80
  721. hintsHighQuality                EQU        $0100                ; slooooow 
  722. hintsPalindrome                    EQU        $0200
  723. hintsInactive                    EQU        $0800
  724. hintsOffscreen                    EQU        $1000
  725. hintsDontDraw                    EQU        $2000
  726. hintsAllowBlacklining            EQU        $4000
  727. ; typedef unsigned long                 playHintsEnum
  728.  
  729.  
  730. mediaHandlerFlagBaseClient        EQU        1
  731. ; typedef unsigned long                 mediaHandlerFlagsEnum
  732.  
  733.  
  734. movieTrackMediaType                EQU        $01
  735. movieTrackCharacteristic        EQU        $02
  736. movieTrackEnabledOnly            EQU        $04
  737. SampleReferenceRecord    RECORD 0
  738. dataOffset                 ds.l    1                ; offset: $0 (0)
  739. dataSize                 ds.l    1                ; offset: $4 (4)
  740. durationPerSample         ds.l    1                ; offset: $8 (8)
  741. numberOfSamples             ds.l    1                ; offset: $C (12)
  742. sampleFlags                 ds.w    1                ; offset: $10 (16)
  743. sizeof                     EQU *                    ; size:   $12 (18)
  744.                         ENDR
  745. ; typedef struct SampleReferenceRecord * SampleReferencePtr
  746.  
  747.  
  748. ; *************************
  749. ;* Initialization Routines 
  750. ;*************************
  751.  
  752. ;
  753. ; pascal OSErr EnterMovies(void )
  754. ;
  755.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  756.         Macro
  757.         _EnterMovies
  758.             moveq               #1,D0
  759.             dc.w                $AAAA
  760.         EndM
  761.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  762.         IMPORT_CFM_FUNCTION EnterMovies
  763.     ENDIF
  764.  
  765. ;
  766. ; pascal void ExitMovies(void )
  767. ;
  768.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  769.         Macro
  770.         _ExitMovies
  771.             moveq               #2,D0
  772.             dc.w                $AAAA
  773.         EndM
  774.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  775.         IMPORT_CFM_FUNCTION ExitMovies
  776.     ENDIF
  777.  
  778. ; *************************
  779. ;* Error Routines 
  780. ;*************************
  781.  
  782.  
  783. ;
  784. ; pascal OSErr GetMoviesError(void )
  785. ;
  786.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  787.         Macro
  788.         _GetMoviesError
  789.             moveq               #3,D0
  790.             dc.w                $AAAA
  791.         EndM
  792.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  793.         IMPORT_CFM_FUNCTION GetMoviesError
  794.     ENDIF
  795.  
  796. ;
  797. ; pascal void ClearMoviesStickyError(void )
  798. ;
  799.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  800.         Macro
  801.         _ClearMoviesStickyError
  802.             move.w              #$00DE,D0
  803.             dc.w                $AAAA
  804.         EndM
  805.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  806.         IMPORT_CFM_FUNCTION ClearMoviesStickyError
  807.     ENDIF
  808.  
  809. ;
  810. ; pascal OSErr GetMoviesStickyError(void )
  811. ;
  812.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  813.         Macro
  814.         _GetMoviesStickyError
  815.             moveq               #4,D0
  816.             dc.w                $AAAA
  817.         EndM
  818.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  819.         IMPORT_CFM_FUNCTION GetMoviesStickyError
  820.     ENDIF
  821.  
  822. ;
  823. ; pascal void SetMoviesErrorProc(MoviesErrorUPP errProc, long refcon)
  824. ;
  825.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  826.         Macro
  827.         _SetMoviesErrorProc
  828.             move.w              #$00EF,D0
  829.             dc.w                $AAAA
  830.         EndM
  831.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  832.         IMPORT_CFM_FUNCTION SetMoviesErrorProc
  833.     ENDIF
  834.  
  835. ; *************************
  836. ;* Idle Routines 
  837. ;*************************
  838.  
  839. ;
  840. ; pascal void MoviesTask(Movie theMovie, long maxMilliSecToUse)
  841. ;
  842.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  843.         Macro
  844.         _MoviesTask
  845.             moveq               #5,D0
  846.             dc.w                $AAAA
  847.         EndM
  848.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  849.         IMPORT_CFM_FUNCTION MoviesTask
  850.     ENDIF
  851.  
  852. ;
  853. ; pascal OSErr PrerollMovie(Movie theMovie, TimeValue time, Fixed Rate)
  854. ;
  855.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  856.         Macro
  857.         _PrerollMovie
  858.             moveq               #6,D0
  859.             dc.w                $AAAA
  860.         EndM
  861.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  862.         IMPORT_CFM_FUNCTION PrerollMovie
  863.     ENDIF
  864.  
  865. ;
  866. ; pascal OSErr LoadMovieIntoRam(Movie theMovie, TimeValue time, TimeValue duration, long flags)
  867. ;
  868.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  869.         Macro
  870.         _LoadMovieIntoRam
  871.             moveq               #7,D0
  872.             dc.w                $AAAA
  873.         EndM
  874.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  875.         IMPORT_CFM_FUNCTION LoadMovieIntoRam
  876.     ENDIF
  877.  
  878. ;
  879. ; pascal OSErr LoadTrackIntoRam(Track theTrack, TimeValue time, TimeValue duration, long flags)
  880. ;
  881.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  882.         Macro
  883.         _LoadTrackIntoRam
  884.             move.w              #$016E,D0
  885.             dc.w                $AAAA
  886.         EndM
  887.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  888.         IMPORT_CFM_FUNCTION LoadTrackIntoRam
  889.     ENDIF
  890.  
  891. ;
  892. ; pascal OSErr LoadMediaIntoRam(Media theMedia, TimeValue time, TimeValue duration, long flags)
  893. ;
  894.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  895.         Macro
  896.         _LoadMediaIntoRam
  897.             moveq               #8,D0
  898.             dc.w                $AAAA
  899.         EndM
  900.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  901.         IMPORT_CFM_FUNCTION LoadMediaIntoRam
  902.     ENDIF
  903.  
  904. ;
  905. ; pascal void SetMovieActive(Movie theMovie, Boolean active)
  906. ;
  907.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  908.         Macro
  909.         _SetMovieActive
  910.             moveq               #9,D0
  911.             dc.w                $AAAA
  912.         EndM
  913.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  914.         IMPORT_CFM_FUNCTION SetMovieActive
  915.     ENDIF
  916.  
  917. ;
  918. ; pascal Boolean GetMovieActive(Movie theMovie)
  919. ;
  920.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  921.         Macro
  922.         _GetMovieActive
  923.             moveq               #10,D0
  924.             dc.w                $AAAA
  925.         EndM
  926.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  927.         IMPORT_CFM_FUNCTION GetMovieActive
  928.     ENDIF
  929.  
  930. ; *************************
  931. ;* calls for playing movies, previews, posters
  932. ;*************************
  933.  
  934. ;
  935. ; pascal void StartMovie(Movie theMovie)
  936. ;
  937.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  938.         Macro
  939.         _StartMovie
  940.             moveq               #11,D0
  941.             dc.w                $AAAA
  942.         EndM
  943.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  944.         IMPORT_CFM_FUNCTION StartMovie
  945.     ENDIF
  946.  
  947. ;
  948. ; pascal void StopMovie(Movie theMovie)
  949. ;
  950.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  951.         Macro
  952.         _StopMovie
  953.             moveq               #12,D0
  954.             dc.w                $AAAA
  955.         EndM
  956.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  957.         IMPORT_CFM_FUNCTION StopMovie
  958.     ENDIF
  959.  
  960. ;
  961. ; pascal void GoToBeginningOfMovie(Movie theMovie)
  962. ;
  963.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  964.         Macro
  965.         _GoToBeginningOfMovie
  966.             moveq               #13,D0
  967.             dc.w                $AAAA
  968.         EndM
  969.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  970.         IMPORT_CFM_FUNCTION GoToBeginningOfMovie
  971.     ENDIF
  972.  
  973. ;
  974. ; pascal void GoToEndOfMovie(Movie theMovie)
  975. ;
  976.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  977.         Macro
  978.         _GoToEndOfMovie
  979.             moveq               #14,D0
  980.             dc.w                $AAAA
  981.         EndM
  982.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  983.         IMPORT_CFM_FUNCTION GoToEndOfMovie
  984.     ENDIF
  985.  
  986. ;
  987. ; pascal Boolean IsMovieDone(Movie theMovie)
  988. ;
  989.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  990.         Macro
  991.         _IsMovieDone
  992.             move.w              #$00DD,D0
  993.             dc.w                $AAAA
  994.         EndM
  995.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  996.         IMPORT_CFM_FUNCTION IsMovieDone
  997.     ENDIF
  998.  
  999. ;
  1000. ; pascal Boolean GetMoviePreviewMode(Movie theMovie)
  1001. ;
  1002.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1003.         Macro
  1004.         _GetMoviePreviewMode
  1005.             moveq               #15,D0
  1006.             dc.w                $AAAA
  1007.         EndM
  1008.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1009.         IMPORT_CFM_FUNCTION GetMoviePreviewMode
  1010.     ENDIF
  1011.  
  1012. ;
  1013. ; pascal void SetMoviePreviewMode(Movie theMovie, Boolean usePreview)
  1014. ;
  1015.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1016.         Macro
  1017.         _SetMoviePreviewMode
  1018.             moveq               #16,D0
  1019.             dc.w                $AAAA
  1020.         EndM
  1021.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1022.         IMPORT_CFM_FUNCTION SetMoviePreviewMode
  1023.     ENDIF
  1024.  
  1025. ;
  1026. ; pascal void ShowMoviePoster(Movie theMovie)
  1027. ;
  1028.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1029.         Macro
  1030.         _ShowMoviePoster
  1031.             moveq               #17,D0
  1032.             dc.w                $AAAA
  1033.         EndM
  1034.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1035.         IMPORT_CFM_FUNCTION ShowMoviePoster
  1036.     ENDIF
  1037.  
  1038. ;
  1039. ; pascal void PlayMoviePreview(Movie theMovie, MoviePreviewCallOutUPP callOutProc, long refcon)
  1040. ;
  1041.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1042.         Macro
  1043.         _PlayMoviePreview
  1044.             move.w              #$00F2,D0
  1045.             dc.w                $AAAA
  1046.         EndM
  1047.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1048.         IMPORT_CFM_FUNCTION PlayMoviePreview
  1049.     ENDIF
  1050.  
  1051. ; *************************
  1052. ;* calls for controlling movies & tracks which are playing
  1053. ;*************************
  1054.  
  1055. ;
  1056. ; pascal TimeBase GetMovieTimeBase(Movie theMovie)
  1057. ;
  1058.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1059.         Macro
  1060.         _GetMovieTimeBase
  1061.             moveq               #18,D0
  1062.             dc.w                $AAAA
  1063.         EndM
  1064.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1065.         IMPORT_CFM_FUNCTION GetMovieTimeBase
  1066.     ENDIF
  1067.  
  1068. ;
  1069. ; pascal void SetMovieMasterTimeBase(Movie theMovie, TimeBase tb, const TimeRecord *slaveZero)
  1070. ;
  1071.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1072.         Macro
  1073.         _SetMovieMasterTimeBase
  1074.             move.w              #$0167,D0
  1075.             dc.w                $AAAA
  1076.         EndM
  1077.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1078.         IMPORT_CFM_FUNCTION SetMovieMasterTimeBase
  1079.     ENDIF
  1080.  
  1081. ;
  1082. ; pascal void SetMovieMasterClock(Movie theMovie, Component clockMeister, const TimeRecord *slaveZero)
  1083. ;
  1084.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1085.         Macro
  1086.         _SetMovieMasterClock
  1087.             move.w              #$0168,D0
  1088.             dc.w                $AAAA
  1089.         EndM
  1090.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1091.         IMPORT_CFM_FUNCTION SetMovieMasterClock
  1092.     ENDIF
  1093.  
  1094. ;
  1095. ; pascal void GetMovieGWorld(Movie theMovie, CGrafPtr *port, GDHandle *gdh)
  1096. ;
  1097.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1098.         Macro
  1099.         _GetMovieGWorld
  1100.             moveq               #21,D0
  1101.             dc.w                $AAAA
  1102.         EndM
  1103.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1104.         IMPORT_CFM_FUNCTION GetMovieGWorld
  1105.     ENDIF
  1106.  
  1107. ;
  1108. ; pascal void SetMovieGWorld(Movie theMovie, CGrafPtr port, GDHandle gdh)
  1109. ;
  1110.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1111.         Macro
  1112.         _SetMovieGWorld
  1113.             moveq               #22,D0
  1114.             dc.w                $AAAA
  1115.         EndM
  1116.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1117.         IMPORT_CFM_FUNCTION SetMovieGWorld
  1118.     ENDIF
  1119.  
  1120.  
  1121. movieDrawingCallWhenChanged        EQU        0
  1122. movieDrawingCallAlways            EQU        1
  1123. ;
  1124. ; pascal void SetMovieDrawingCompleteProc(Movie theMovie, long flags, MovieDrawingCompleteUPP proc, long refCon)
  1125. ;
  1126.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1127.         Macro
  1128.         _SetMovieDrawingCompleteProc
  1129.             move.w              #$01DE,D0
  1130.             dc.w                $AAAA
  1131.         EndM
  1132.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1133.         IMPORT_CFM_FUNCTION SetMovieDrawingCompleteProc
  1134.     ENDIF
  1135.  
  1136.  
  1137. ;
  1138. ; pascal void GetMovieNaturalBoundsRect(Movie theMovie, Rect *naturalBounds)
  1139. ;
  1140.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1141.         Macro
  1142.         _GetMovieNaturalBoundsRect
  1143.             move.w              #$022C,D0
  1144.             dc.w                $AAAA
  1145.         EndM
  1146.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1147.         IMPORT_CFM_FUNCTION GetMovieNaturalBoundsRect
  1148.     ENDIF
  1149.  
  1150. ;
  1151. ; pascal Track GetNextTrackForCompositing(Movie theMovie, Track theTrack)
  1152. ;
  1153.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1154.         Macro
  1155.         _GetNextTrackForCompositing
  1156.             move.w              #$01FA,D0
  1157.             dc.w                $AAAA
  1158.         EndM
  1159.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1160.         IMPORT_CFM_FUNCTION GetNextTrackForCompositing
  1161.     ENDIF
  1162.  
  1163. ;
  1164. ; pascal Track GetPrevTrackForCompositing(Movie theMovie, Track theTrack)
  1165. ;
  1166.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1167.         Macro
  1168.         _GetPrevTrackForCompositing
  1169.             move.w              #$01FB,D0
  1170.             dc.w                $AAAA
  1171.         EndM
  1172.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1173.         IMPORT_CFM_FUNCTION GetPrevTrackForCompositing
  1174.     ENDIF
  1175.  
  1176. ;
  1177. ; pascal void SetTrackGWorld(Track theTrack, CGrafPtr port, GDHandle gdh, TrackTransferUPP proc, long refCon)
  1178. ;
  1179.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1180.         Macro
  1181.         _SetTrackGWorld
  1182.             move.w              #$009D,D0
  1183.             dc.w                $AAAA
  1184.         EndM
  1185.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1186.         IMPORT_CFM_FUNCTION SetTrackGWorld
  1187.     ENDIF
  1188.  
  1189. ;
  1190. ; pascal PicHandle GetMoviePict(Movie theMovie, TimeValue time)
  1191. ;
  1192.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1193.         Macro
  1194.         _GetMoviePict
  1195.             moveq               #29,D0
  1196.             dc.w                $AAAA
  1197.         EndM
  1198.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1199.         IMPORT_CFM_FUNCTION GetMoviePict
  1200.     ENDIF
  1201.  
  1202. ;
  1203. ; pascal PicHandle GetTrackPict(Track theTrack, TimeValue time)
  1204. ;
  1205.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1206.         Macro
  1207.         _GetTrackPict
  1208.             moveq               #30,D0
  1209.             dc.w                $AAAA
  1210.         EndM
  1211.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1212.         IMPORT_CFM_FUNCTION GetTrackPict
  1213.     ENDIF
  1214.  
  1215. ;
  1216. ; pascal PicHandle GetMoviePosterPict(Movie theMovie)
  1217. ;
  1218.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1219.         Macro
  1220.         _GetMoviePosterPict
  1221.             move.w              #$00F7,D0
  1222.             dc.w                $AAAA
  1223.         EndM
  1224.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1225.         IMPORT_CFM_FUNCTION GetMoviePosterPict
  1226.     ENDIF
  1227.  
  1228. ;  called between Begin & EndUpdate 
  1229. ;
  1230. ; pascal OSErr UpdateMovie(Movie theMovie)
  1231. ;
  1232.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1233.         Macro
  1234.         _UpdateMovie
  1235.             moveq               #31,D0
  1236.             dc.w                $AAAA
  1237.         EndM
  1238.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1239.         IMPORT_CFM_FUNCTION UpdateMovie
  1240.     ENDIF
  1241.  
  1242. ;
  1243. ; pascal OSErr InvalidateMovieRegion(Movie theMovie, RgnHandle invalidRgn)
  1244. ;
  1245.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1246.         Macro
  1247.         _InvalidateMovieRegion
  1248.             move.w              #$022A,D0
  1249.             dc.w                $AAAA
  1250.         EndM
  1251.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1252.         IMPORT_CFM_FUNCTION InvalidateMovieRegion
  1253.     ENDIF
  1254.  
  1255. ; *** spatial movie routines ***
  1256. ;
  1257. ; pascal void GetMovieBox(Movie theMovie, Rect *boxRect)
  1258. ;
  1259.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1260.         Macro
  1261.         _GetMovieBox
  1262.             move.w              #$00F9,D0
  1263.             dc.w                $AAAA
  1264.         EndM
  1265.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1266.         IMPORT_CFM_FUNCTION GetMovieBox
  1267.     ENDIF
  1268.  
  1269. ;
  1270. ; pascal void SetMovieBox(Movie theMovie, const Rect *boxRect)
  1271. ;
  1272.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1273.         Macro
  1274.         _SetMovieBox
  1275.             move.w              #$00FA,D0
  1276.             dc.w                $AAAA
  1277.         EndM
  1278.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1279.         IMPORT_CFM_FUNCTION SetMovieBox
  1280.     ENDIF
  1281.  
  1282. ; * movie display clip 
  1283. ;
  1284. ; pascal RgnHandle GetMovieDisplayClipRgn(Movie theMovie)
  1285. ;
  1286.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1287.         Macro
  1288.         _GetMovieDisplayClipRgn
  1289.             move.w              #$00FC,D0
  1290.             dc.w                $AAAA
  1291.         EndM
  1292.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1293.         IMPORT_CFM_FUNCTION GetMovieDisplayClipRgn
  1294.     ENDIF
  1295.  
  1296. ;
  1297. ; pascal void SetMovieDisplayClipRgn(Movie theMovie, RgnHandle theClip)
  1298. ;
  1299.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1300.         Macro
  1301.         _SetMovieDisplayClipRgn
  1302.             move.w              #$00FD,D0
  1303.             dc.w                $AAAA
  1304.         EndM
  1305.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1306.         IMPORT_CFM_FUNCTION SetMovieDisplayClipRgn
  1307.     ENDIF
  1308.  
  1309. ; * movie src clip 
  1310. ;
  1311. ; pascal RgnHandle GetMovieClipRgn(Movie theMovie)
  1312. ;
  1313.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1314.         Macro
  1315.         _GetMovieClipRgn
  1316.             move.w              #$0100,D0
  1317.             dc.w                $AAAA
  1318.         EndM
  1319.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1320.         IMPORT_CFM_FUNCTION GetMovieClipRgn
  1321.     ENDIF
  1322.  
  1323. ;
  1324. ; pascal void SetMovieClipRgn(Movie theMovie, RgnHandle theClip)
  1325. ;
  1326.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1327.         Macro
  1328.         _SetMovieClipRgn
  1329.             move.w              #$0101,D0
  1330.             dc.w                $AAAA
  1331.         EndM
  1332.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1333.         IMPORT_CFM_FUNCTION SetMovieClipRgn
  1334.     ENDIF
  1335.  
  1336. ; * track src clip 
  1337. ;
  1338. ; pascal RgnHandle GetTrackClipRgn(Track theTrack)
  1339. ;
  1340.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1341.         Macro
  1342.         _GetTrackClipRgn
  1343.             move.w              #$0102,D0
  1344.             dc.w                $AAAA
  1345.         EndM
  1346.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1347.         IMPORT_CFM_FUNCTION GetTrackClipRgn
  1348.     ENDIF
  1349.  
  1350. ;
  1351. ; pascal void SetTrackClipRgn(Track theTrack, RgnHandle theClip)
  1352. ;
  1353.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1354.         Macro
  1355.         _SetTrackClipRgn
  1356.             move.w              #$0103,D0
  1357.             dc.w                $AAAA
  1358.         EndM
  1359.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1360.         IMPORT_CFM_FUNCTION SetTrackClipRgn
  1361.     ENDIF
  1362.  
  1363. ; * bounds in display space (not clipped by display clip) 
  1364. ;
  1365. ; pascal RgnHandle GetMovieDisplayBoundsRgn(Movie theMovie)
  1366. ;
  1367.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1368.         Macro
  1369.         _GetMovieDisplayBoundsRgn
  1370.             move.w              #$00FB,D0
  1371.             dc.w                $AAAA
  1372.         EndM
  1373.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1374.         IMPORT_CFM_FUNCTION GetMovieDisplayBoundsRgn
  1375.     ENDIF
  1376.  
  1377. ;
  1378. ; pascal RgnHandle GetTrackDisplayBoundsRgn(Track theTrack)
  1379. ;
  1380.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1381.         Macro
  1382.         _GetTrackDisplayBoundsRgn
  1383.             move.w              #$0112,D0
  1384.             dc.w                $AAAA
  1385.         EndM
  1386.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1387.         IMPORT_CFM_FUNCTION GetTrackDisplayBoundsRgn
  1388.     ENDIF
  1389.  
  1390. ; * bounds in movie space 
  1391. ;
  1392. ; pascal RgnHandle GetMovieBoundsRgn(Movie theMovie)
  1393. ;
  1394.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1395.         Macro
  1396.         _GetMovieBoundsRgn
  1397.             move.w              #$00FE,D0
  1398.             dc.w                $AAAA
  1399.         EndM
  1400.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1401.         IMPORT_CFM_FUNCTION GetMovieBoundsRgn
  1402.     ENDIF
  1403.  
  1404. ;
  1405. ; pascal RgnHandle GetTrackMovieBoundsRgn(Track theTrack)
  1406. ;
  1407.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1408.         Macro
  1409.         _GetTrackMovieBoundsRgn
  1410.             move.w              #$00FF,D0
  1411.             dc.w                $AAAA
  1412.         EndM
  1413.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1414.         IMPORT_CFM_FUNCTION GetTrackMovieBoundsRgn
  1415.     ENDIF
  1416.  
  1417. ; * bounds in track space 
  1418. ;
  1419. ; pascal RgnHandle GetTrackBoundsRgn(Track theTrack)
  1420. ;
  1421.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1422.         Macro
  1423.         _GetTrackBoundsRgn
  1424.             move.w              #$0111,D0
  1425.             dc.w                $AAAA
  1426.         EndM
  1427.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1428.         IMPORT_CFM_FUNCTION GetTrackBoundsRgn
  1429.     ENDIF
  1430.  
  1431. ; * mattes - always in track space 
  1432. ;
  1433. ; pascal PixMapHandle GetTrackMatte(Track theTrack)
  1434. ;
  1435.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1436.         Macro
  1437.         _GetTrackMatte
  1438.             move.w              #$0115,D0
  1439.             dc.w                $AAAA
  1440.         EndM
  1441.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1442.         IMPORT_CFM_FUNCTION GetTrackMatte
  1443.     ENDIF
  1444.  
  1445. ;
  1446. ; pascal void SetTrackMatte(Track theTrack, PixMapHandle theMatte)
  1447. ;
  1448.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1449.         Macro
  1450.         _SetTrackMatte
  1451.             move.w              #$0116,D0
  1452.             dc.w                $AAAA
  1453.         EndM
  1454.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1455.         IMPORT_CFM_FUNCTION SetTrackMatte
  1456.     ENDIF
  1457.  
  1458. ;
  1459. ; pascal void DisposeMatte(PixMapHandle theMatte)
  1460. ;
  1461.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1462.         Macro
  1463.         _DisposeMatte
  1464.             move.w              #$014A,D0
  1465.             dc.w                $AAAA
  1466.         EndM
  1467.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1468.         IMPORT_CFM_FUNCTION DisposeMatte
  1469.     ENDIF
  1470.  
  1471. ; *************************
  1472. ;* calls for getting/saving movies
  1473. ;*************************
  1474.  
  1475. ;
  1476. ; pascal Movie NewMovie(long flags)
  1477. ;
  1478.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1479.         Macro
  1480.         _NewMovie
  1481.             move.w              #$0187,D0
  1482.             dc.w                $AAAA
  1483.         EndM
  1484.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1485.         IMPORT_CFM_FUNCTION NewMovie
  1486.     ENDIF
  1487.  
  1488. ;
  1489. ; pascal OSErr PutMovieIntoHandle(Movie theMovie, Handle publicMovie)
  1490. ;
  1491.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1492.         Macro
  1493.         _PutMovieIntoHandle
  1494.             moveq               #34,D0
  1495.             dc.w                $AAAA
  1496.         EndM
  1497.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1498.         IMPORT_CFM_FUNCTION PutMovieIntoHandle
  1499.     ENDIF
  1500.  
  1501. ;
  1502. ; pascal OSErr PutMovieIntoDataFork(Movie theMovie, short fRefNum, long offset, long maxSize)
  1503. ;
  1504.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1505.         Macro
  1506.         _PutMovieIntoDataFork
  1507.             move.w              #$01B4,D0
  1508.             dc.w                $AAAA
  1509.         EndM
  1510.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1511.         IMPORT_CFM_FUNCTION PutMovieIntoDataFork
  1512.     ENDIF
  1513.  
  1514. ;
  1515. ; pascal void DisposeMovie(Movie theMovie)
  1516. ;
  1517.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1518.         Macro
  1519.         _DisposeMovie
  1520.             moveq               #35,D0
  1521.             dc.w                $AAAA
  1522.         EndM
  1523.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1524.         IMPORT_CFM_FUNCTION DisposeMovie
  1525.     ENDIF
  1526.  
  1527. ; *************************
  1528. ;* Movie State Routines
  1529. ;*************************
  1530.  
  1531. ;
  1532. ; pascal unsigned long GetMovieCreationTime(Movie theMovie)
  1533. ;
  1534.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1535.         Macro
  1536.         _GetMovieCreationTime
  1537.             moveq               #38,D0
  1538.             dc.w                $AAAA
  1539.         EndM
  1540.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1541.         IMPORT_CFM_FUNCTION GetMovieCreationTime
  1542.     ENDIF
  1543.  
  1544. ;
  1545. ; pascal unsigned long GetMovieModificationTime(Movie theMovie)
  1546. ;
  1547.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1548.         Macro
  1549.         _GetMovieModificationTime
  1550.             moveq               #39,D0
  1551.             dc.w                $AAAA
  1552.         EndM
  1553.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1554.         IMPORT_CFM_FUNCTION GetMovieModificationTime
  1555.     ENDIF
  1556.  
  1557. ;
  1558. ; pascal TimeScale GetMovieTimeScale(Movie theMovie)
  1559. ;
  1560.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1561.         Macro
  1562.         _GetMovieTimeScale
  1563.             moveq               #41,D0
  1564.             dc.w                $AAAA
  1565.         EndM
  1566.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1567.         IMPORT_CFM_FUNCTION GetMovieTimeScale
  1568.     ENDIF
  1569.  
  1570. ;
  1571. ; pascal void SetMovieTimeScale(Movie theMovie, TimeScale timeScale)
  1572. ;
  1573.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1574.         Macro
  1575.         _SetMovieTimeScale
  1576.             moveq               #42,D0
  1577.             dc.w                $AAAA
  1578.         EndM
  1579.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1580.         IMPORT_CFM_FUNCTION SetMovieTimeScale
  1581.     ENDIF
  1582.  
  1583. ;
  1584. ; pascal TimeValue GetMovieDuration(Movie theMovie)
  1585. ;
  1586.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1587.         Macro
  1588.         _GetMovieDuration
  1589.             moveq               #43,D0
  1590.             dc.w                $AAAA
  1591.         EndM
  1592.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1593.         IMPORT_CFM_FUNCTION GetMovieDuration
  1594.     ENDIF
  1595.  
  1596. ;
  1597. ; pascal Fixed GetMovieRate(Movie theMovie)
  1598. ;
  1599.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1600.         Macro
  1601.         _GetMovieRate
  1602.             moveq               #44,D0
  1603.             dc.w                $AAAA
  1604.         EndM
  1605.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1606.         IMPORT_CFM_FUNCTION GetMovieRate
  1607.     ENDIF
  1608.  
  1609. ;
  1610. ; pascal void SetMovieRate(Movie theMovie, Fixed rate)
  1611. ;
  1612.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1613.         Macro
  1614.         _SetMovieRate
  1615.             moveq               #45,D0
  1616.             dc.w                $AAAA
  1617.         EndM
  1618.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1619.         IMPORT_CFM_FUNCTION SetMovieRate
  1620.     ENDIF
  1621.  
  1622. ;
  1623. ; pascal Fixed GetMoviePreferredRate(Movie theMovie)
  1624. ;
  1625.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1626.         Macro
  1627.         _GetMoviePreferredRate
  1628.             move.w              #$00F3,D0
  1629.             dc.w                $AAAA
  1630.         EndM
  1631.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1632.         IMPORT_CFM_FUNCTION GetMoviePreferredRate
  1633.     ENDIF
  1634.  
  1635. ;
  1636. ; pascal void SetMoviePreferredRate(Movie theMovie, Fixed rate)
  1637. ;
  1638.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1639.         Macro
  1640.         _SetMoviePreferredRate
  1641.             move.w              #$00F4,D0
  1642.             dc.w                $AAAA
  1643.         EndM
  1644.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1645.         IMPORT_CFM_FUNCTION SetMoviePreferredRate
  1646.     ENDIF
  1647.  
  1648. ;
  1649. ; pascal short GetMoviePreferredVolume(Movie theMovie)
  1650. ;
  1651.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1652.         Macro
  1653.         _GetMoviePreferredVolume
  1654.             move.w              #$00F5,D0
  1655.             dc.w                $AAAA
  1656.         EndM
  1657.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1658.         IMPORT_CFM_FUNCTION GetMoviePreferredVolume
  1659.     ENDIF
  1660.  
  1661. ;
  1662. ; pascal void SetMoviePreferredVolume(Movie theMovie, short volume)
  1663. ;
  1664.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1665.         Macro
  1666.         _SetMoviePreferredVolume
  1667.             move.w              #$00F6,D0
  1668.             dc.w                $AAAA
  1669.         EndM
  1670.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1671.         IMPORT_CFM_FUNCTION SetMoviePreferredVolume
  1672.     ENDIF
  1673.  
  1674. ;
  1675. ; pascal short GetMovieVolume(Movie theMovie)
  1676. ;
  1677.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1678.         Macro
  1679.         _GetMovieVolume
  1680.             moveq               #46,D0
  1681.             dc.w                $AAAA
  1682.         EndM
  1683.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1684.         IMPORT_CFM_FUNCTION GetMovieVolume
  1685.     ENDIF
  1686.  
  1687. ;
  1688. ; pascal void SetMovieVolume(Movie theMovie, short volume)
  1689. ;
  1690.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1691.         Macro
  1692.         _SetMovieVolume
  1693.             moveq               #47,D0
  1694.             dc.w                $AAAA
  1695.         EndM
  1696.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1697.         IMPORT_CFM_FUNCTION SetMovieVolume
  1698.     ENDIF
  1699.  
  1700. ;
  1701. ; pascal void GetMovieMatrix(Movie theMovie, MatrixRecord *matrix)
  1702. ;
  1703.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1704.         Macro
  1705.         _GetMovieMatrix
  1706.             moveq               #49,D0
  1707.             dc.w                $AAAA
  1708.         EndM
  1709.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1710.         IMPORT_CFM_FUNCTION GetMovieMatrix
  1711.     ENDIF
  1712.  
  1713. ;
  1714. ; pascal void SetMovieMatrix(Movie theMovie, const MatrixRecord *matrix)
  1715. ;
  1716.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1717.         Macro
  1718.         _SetMovieMatrix
  1719.             moveq               #50,D0
  1720.             dc.w                $AAAA
  1721.         EndM
  1722.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1723.         IMPORT_CFM_FUNCTION SetMovieMatrix
  1724.     ENDIF
  1725.  
  1726. ;
  1727. ; pascal void GetMoviePreviewTime(Movie theMovie, TimeValue *previewTime, TimeValue *previewDuration)
  1728. ;
  1729.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1730.         Macro
  1731.         _GetMoviePreviewTime
  1732.             moveq               #51,D0
  1733.             dc.w                $AAAA
  1734.         EndM
  1735.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1736.         IMPORT_CFM_FUNCTION GetMoviePreviewTime
  1737.     ENDIF
  1738.  
  1739. ;
  1740. ; pascal void SetMoviePreviewTime(Movie theMovie, TimeValue previewTime, TimeValue previewDuration)
  1741. ;
  1742.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1743.         Macro
  1744.         _SetMoviePreviewTime
  1745.             moveq               #52,D0
  1746.             dc.w                $AAAA
  1747.         EndM
  1748.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1749.         IMPORT_CFM_FUNCTION SetMoviePreviewTime
  1750.     ENDIF
  1751.  
  1752. ;
  1753. ; pascal TimeValue GetMoviePosterTime(Movie theMovie)
  1754. ;
  1755.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1756.         Macro
  1757.         _GetMoviePosterTime
  1758.             moveq               #53,D0
  1759.             dc.w                $AAAA
  1760.         EndM
  1761.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1762.         IMPORT_CFM_FUNCTION GetMoviePosterTime
  1763.     ENDIF
  1764.  
  1765. ;
  1766. ; pascal void SetMoviePosterTime(Movie theMovie, TimeValue posterTime)
  1767. ;
  1768.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1769.         Macro
  1770.         _SetMoviePosterTime
  1771.             moveq               #54,D0
  1772.             dc.w                $AAAA
  1773.         EndM
  1774.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1775.         IMPORT_CFM_FUNCTION SetMoviePosterTime
  1776.     ENDIF
  1777.  
  1778. ;
  1779. ; pascal void GetMovieSelection(Movie theMovie, TimeValue *selectionTime, TimeValue *selectionDuration)
  1780. ;
  1781.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1782.         Macro
  1783.         _GetMovieSelection
  1784.             moveq               #55,D0
  1785.             dc.w                $AAAA
  1786.         EndM
  1787.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1788.         IMPORT_CFM_FUNCTION GetMovieSelection
  1789.     ENDIF
  1790.  
  1791. ;
  1792. ; pascal void SetMovieSelection(Movie theMovie, TimeValue selectionTime, TimeValue selectionDuration)
  1793. ;
  1794.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1795.         Macro
  1796.         _SetMovieSelection
  1797.             moveq               #56,D0
  1798.             dc.w                $AAAA
  1799.         EndM
  1800.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1801.         IMPORT_CFM_FUNCTION SetMovieSelection
  1802.     ENDIF
  1803.  
  1804. ;
  1805. ; pascal void SetMovieActiveSegment(Movie theMovie, TimeValue startTime, TimeValue duration)
  1806. ;
  1807.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1808.         Macro
  1809.         _SetMovieActiveSegment
  1810.             move.w              #$015C,D0
  1811.             dc.w                $AAAA
  1812.         EndM
  1813.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1814.         IMPORT_CFM_FUNCTION SetMovieActiveSegment
  1815.     ENDIF
  1816.  
  1817. ;
  1818. ; pascal void GetMovieActiveSegment(Movie theMovie, TimeValue *startTime, TimeValue *duration)
  1819. ;
  1820.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1821.         Macro
  1822.         _GetMovieActiveSegment
  1823.             move.w              #$015D,D0
  1824.             dc.w                $AAAA
  1825.         EndM
  1826.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1827.         IMPORT_CFM_FUNCTION GetMovieActiveSegment
  1828.     ENDIF
  1829.  
  1830. ;
  1831. ; pascal TimeValue GetMovieTime(Movie theMovie, TimeRecord *currentTime)
  1832. ;
  1833.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1834.         Macro
  1835.         _GetMovieTime
  1836.             moveq               #57,D0
  1837.             dc.w                $AAAA
  1838.         EndM
  1839.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1840.         IMPORT_CFM_FUNCTION GetMovieTime
  1841.     ENDIF
  1842.  
  1843. ;
  1844. ; pascal void SetMovieTime(Movie theMovie, const TimeRecord *newtime)
  1845. ;
  1846.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1847.         Macro
  1848.         _SetMovieTime
  1849.             moveq               #60,D0
  1850.             dc.w                $AAAA
  1851.         EndM
  1852.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1853.         IMPORT_CFM_FUNCTION SetMovieTime
  1854.     ENDIF
  1855.  
  1856. ;
  1857. ; pascal void SetMovieTimeValue(Movie theMovie, TimeValue newtime)
  1858. ;
  1859.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1860.         Macro
  1861.         _SetMovieTimeValue
  1862.             moveq               #61,D0
  1863.             dc.w                $AAAA
  1864.         EndM
  1865.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1866.         IMPORT_CFM_FUNCTION SetMovieTimeValue
  1867.     ENDIF
  1868.  
  1869.  
  1870. ;
  1871. ; pascal UserData GetMovieUserData(Movie theMovie)
  1872. ;
  1873.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1874.         Macro
  1875.         _GetMovieUserData
  1876.             moveq               #62,D0
  1877.             dc.w                $AAAA
  1878.         EndM
  1879.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1880.         IMPORT_CFM_FUNCTION GetMovieUserData
  1881.     ENDIF
  1882.  
  1883.  
  1884. ; *************************
  1885. ;* Track/Media finding routines
  1886. ;*************************
  1887.  
  1888. ;
  1889. ; pascal long GetMovieTrackCount(Movie theMovie)
  1890. ;
  1891.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1892.         Macro
  1893.         _GetMovieTrackCount
  1894.             moveq               #63,D0
  1895.             dc.w                $AAAA
  1896.         EndM
  1897.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1898.         IMPORT_CFM_FUNCTION GetMovieTrackCount
  1899.     ENDIF
  1900.  
  1901. ;
  1902. ; pascal Track GetMovieTrack(Movie theMovie, long trackID)
  1903. ;
  1904.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1905.         Macro
  1906.         _GetMovieTrack
  1907.             moveq               #64,D0
  1908.             dc.w                $AAAA
  1909.         EndM
  1910.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1911.         IMPORT_CFM_FUNCTION GetMovieTrack
  1912.     ENDIF
  1913.  
  1914. ;
  1915. ; pascal Track GetMovieIndTrack(Movie theMovie, long index)
  1916. ;
  1917.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1918.         Macro
  1919.         _GetMovieIndTrack
  1920.             move.w              #$0117,D0
  1921.             dc.w                $AAAA
  1922.         EndM
  1923.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1924.         IMPORT_CFM_FUNCTION GetMovieIndTrack
  1925.     ENDIF
  1926.  
  1927. ;
  1928. ; pascal Track GetMovieIndTrackType(Movie theMovie, long index, OSType trackType, long flags)
  1929. ;
  1930.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1931.         Macro
  1932.         _GetMovieIndTrackType
  1933.             move.w              #$0208,D0
  1934.             dc.w                $AAAA
  1935.         EndM
  1936.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1937.         IMPORT_CFM_FUNCTION GetMovieIndTrackType
  1938.     ENDIF
  1939.  
  1940. ;
  1941. ; pascal long GetTrackID(Track theTrack)
  1942. ;
  1943.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1944.         Macro
  1945.         _GetTrackID
  1946.             move.w              #$0127,D0
  1947.             dc.w                $AAAA
  1948.         EndM
  1949.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1950.         IMPORT_CFM_FUNCTION GetTrackID
  1951.     ENDIF
  1952.  
  1953. ;
  1954. ; pascal Movie GetTrackMovie(Track theTrack)
  1955. ;
  1956.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1957.         Macro
  1958.         _GetTrackMovie
  1959.             move.w              #$00D0,D0
  1960.             dc.w                $AAAA
  1961.         EndM
  1962.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1963.         IMPORT_CFM_FUNCTION GetTrackMovie
  1964.     ENDIF
  1965.  
  1966. ; *************************
  1967. ;* Track creation routines
  1968. ;*************************
  1969.  
  1970. ;
  1971. ; pascal Track NewMovieTrack(Movie theMovie, Fixed width, Fixed height, short trackVolume)
  1972. ;
  1973.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1974.         Macro
  1975.         _NewMovieTrack
  1976.             move.w              #$0188,D0
  1977.             dc.w                $AAAA
  1978.         EndM
  1979.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1980.         IMPORT_CFM_FUNCTION NewMovieTrack
  1981.     ENDIF
  1982.  
  1983. ;
  1984. ; pascal void DisposeMovieTrack(Track theTrack)
  1985. ;
  1986.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1987.         Macro
  1988.         _DisposeMovieTrack
  1989.             moveq               #66,D0
  1990.             dc.w                $AAAA
  1991.         EndM
  1992.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1993.         IMPORT_CFM_FUNCTION DisposeMovieTrack
  1994.     ENDIF
  1995.  
  1996. ; *************************
  1997. ;* Track State routines
  1998. ;*************************
  1999.  
  2000. ;
  2001. ; pascal unsigned long GetTrackCreationTime(Track theTrack)
  2002. ;
  2003.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2004.         Macro
  2005.         _GetTrackCreationTime
  2006.             moveq               #67,D0
  2007.             dc.w                $AAAA
  2008.         EndM
  2009.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2010.         IMPORT_CFM_FUNCTION GetTrackCreationTime
  2011.     ENDIF
  2012.  
  2013. ;
  2014. ; pascal unsigned long GetTrackModificationTime(Track theTrack)
  2015. ;
  2016.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2017.         Macro
  2018.         _GetTrackModificationTime
  2019.             moveq               #68,D0
  2020.             dc.w                $AAAA
  2021.         EndM
  2022.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2023.         IMPORT_CFM_FUNCTION GetTrackModificationTime
  2024.     ENDIF
  2025.  
  2026.  
  2027. ;
  2028. ; pascal Boolean GetTrackEnabled(Track theTrack)
  2029. ;
  2030.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2031.         Macro
  2032.         _GetTrackEnabled
  2033.             moveq               #69,D0
  2034.             dc.w                $AAAA
  2035.         EndM
  2036.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2037.         IMPORT_CFM_FUNCTION GetTrackEnabled
  2038.     ENDIF
  2039.  
  2040. ;
  2041. ; pascal void SetTrackEnabled(Track theTrack, Boolean isEnabled)
  2042. ;
  2043.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2044.         Macro
  2045.         _SetTrackEnabled
  2046.             moveq               #70,D0
  2047.             dc.w                $AAAA
  2048.         EndM
  2049.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2050.         IMPORT_CFM_FUNCTION SetTrackEnabled
  2051.     ENDIF
  2052.  
  2053. ;
  2054. ; pascal long GetTrackUsage(Track theTrack)
  2055. ;
  2056.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2057.         Macro
  2058.         _GetTrackUsage
  2059.             moveq               #71,D0
  2060.             dc.w                $AAAA
  2061.         EndM
  2062.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2063.         IMPORT_CFM_FUNCTION GetTrackUsage
  2064.     ENDIF
  2065.  
  2066. ;
  2067. ; pascal void SetTrackUsage(Track theTrack, long usage)
  2068. ;
  2069.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2070.         Macro
  2071.         _SetTrackUsage
  2072.             moveq               #72,D0
  2073.             dc.w                $AAAA
  2074.         EndM
  2075.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2076.         IMPORT_CFM_FUNCTION SetTrackUsage
  2077.     ENDIF
  2078.  
  2079. ;
  2080. ; pascal TimeValue GetTrackDuration(Track theTrack)
  2081. ;
  2082.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2083.         Macro
  2084.         _GetTrackDuration
  2085.             moveq               #75,D0
  2086.             dc.w                $AAAA
  2087.         EndM
  2088.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2089.         IMPORT_CFM_FUNCTION GetTrackDuration
  2090.     ENDIF
  2091.  
  2092. ;
  2093. ; pascal TimeValue GetTrackOffset(Track theTrack)
  2094. ;
  2095.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2096.         Macro
  2097.         _GetTrackOffset
  2098.             moveq               #76,D0
  2099.             dc.w                $AAAA
  2100.         EndM
  2101.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2102.         IMPORT_CFM_FUNCTION GetTrackOffset
  2103.     ENDIF
  2104.  
  2105. ;
  2106. ; pascal void SetTrackOffset(Track theTrack, TimeValue movieOffsetTime)
  2107. ;
  2108.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2109.         Macro
  2110.         _SetTrackOffset
  2111.             moveq               #77,D0
  2112.             dc.w                $AAAA
  2113.         EndM
  2114.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2115.         IMPORT_CFM_FUNCTION SetTrackOffset
  2116.     ENDIF
  2117.  
  2118. ;
  2119. ; pascal short GetTrackLayer(Track theTrack)
  2120. ;
  2121.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2122.         Macro
  2123.         _GetTrackLayer
  2124.             moveq               #80,D0
  2125.             dc.w                $AAAA
  2126.         EndM
  2127.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2128.         IMPORT_CFM_FUNCTION GetTrackLayer
  2129.     ENDIF
  2130.  
  2131. ;
  2132. ; pascal void SetTrackLayer(Track theTrack, short layer)
  2133. ;
  2134.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2135.         Macro
  2136.         _SetTrackLayer
  2137.             moveq               #81,D0
  2138.             dc.w                $AAAA
  2139.         EndM
  2140.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2141.         IMPORT_CFM_FUNCTION SetTrackLayer
  2142.     ENDIF
  2143.  
  2144. ;
  2145. ; pascal Track GetTrackAlternate(Track theTrack)
  2146. ;
  2147.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2148.         Macro
  2149.         _GetTrackAlternate
  2150.             moveq               #82,D0
  2151.             dc.w                $AAAA
  2152.         EndM
  2153.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2154.         IMPORT_CFM_FUNCTION GetTrackAlternate
  2155.     ENDIF
  2156.  
  2157. ;
  2158. ; pascal void SetTrackAlternate(Track theTrack, Track alternateT)
  2159. ;
  2160.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2161.         Macro
  2162.         _SetTrackAlternate
  2163.             moveq               #83,D0
  2164.             dc.w                $AAAA
  2165.         EndM
  2166.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2167.         IMPORT_CFM_FUNCTION SetTrackAlternate
  2168.     ENDIF
  2169.  
  2170. ;
  2171. ; pascal void SetAutoTrackAlternatesEnabled(Movie theMovie, Boolean enable)
  2172. ;
  2173.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2174.         Macro
  2175.         _SetAutoTrackAlternatesEnabled
  2176.             move.w              #$015E,D0
  2177.             dc.w                $AAAA
  2178.         EndM
  2179.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2180.         IMPORT_CFM_FUNCTION SetAutoTrackAlternatesEnabled
  2181.     ENDIF
  2182.  
  2183. ;
  2184. ; pascal void SelectMovieAlternates(Movie theMovie)
  2185. ;
  2186.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2187.         Macro
  2188.         _SelectMovieAlternates
  2189.             move.w              #$015F,D0
  2190.             dc.w                $AAAA
  2191.         EndM
  2192.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2193.         IMPORT_CFM_FUNCTION SelectMovieAlternates
  2194.     ENDIF
  2195.  
  2196. ;
  2197. ; pascal short GetTrackVolume(Track theTrack)
  2198. ;
  2199.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2200.         Macro
  2201.         _GetTrackVolume
  2202.             moveq               #84,D0
  2203.             dc.w                $AAAA
  2204.         EndM
  2205.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2206.         IMPORT_CFM_FUNCTION GetTrackVolume
  2207.     ENDIF
  2208.  
  2209. ;
  2210. ; pascal void SetTrackVolume(Track theTrack, short volume)
  2211. ;
  2212.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2213.         Macro
  2214.         _SetTrackVolume
  2215.             moveq               #85,D0
  2216.             dc.w                $AAAA
  2217.         EndM
  2218.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2219.         IMPORT_CFM_FUNCTION SetTrackVolume
  2220.     ENDIF
  2221.  
  2222. ;
  2223. ; pascal void GetTrackMatrix(Track theTrack, MatrixRecord *matrix)
  2224. ;
  2225.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2226.         Macro
  2227.         _GetTrackMatrix
  2228.             moveq               #86,D0
  2229.             dc.w                $AAAA
  2230.         EndM
  2231.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2232.         IMPORT_CFM_FUNCTION GetTrackMatrix
  2233.     ENDIF
  2234.  
  2235. ;
  2236. ; pascal void SetTrackMatrix(Track theTrack, const MatrixRecord *matrix)
  2237. ;
  2238.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2239.         Macro
  2240.         _SetTrackMatrix
  2241.             moveq               #87,D0
  2242.             dc.w                $AAAA
  2243.         EndM
  2244.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2245.         IMPORT_CFM_FUNCTION SetTrackMatrix
  2246.     ENDIF
  2247.  
  2248. ;
  2249. ; pascal void GetTrackDimensions(Track theTrack, Fixed *width, Fixed *height)
  2250. ;
  2251.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2252.         Macro
  2253.         _GetTrackDimensions
  2254.             moveq               #93,D0
  2255.             dc.w                $AAAA
  2256.         EndM
  2257.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2258.         IMPORT_CFM_FUNCTION GetTrackDimensions
  2259.     ENDIF
  2260.  
  2261. ;
  2262. ; pascal void SetTrackDimensions(Track theTrack, Fixed width, Fixed height)
  2263. ;
  2264.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2265.         Macro
  2266.         _SetTrackDimensions
  2267.             moveq               #94,D0
  2268.             dc.w                $AAAA
  2269.         EndM
  2270.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2271.         IMPORT_CFM_FUNCTION SetTrackDimensions
  2272.     ENDIF
  2273.  
  2274. ;
  2275. ; pascal UserData GetTrackUserData(Track theTrack)
  2276. ;
  2277.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2278.         Macro
  2279.         _GetTrackUserData
  2280.             moveq               #95,D0
  2281.             dc.w                $AAAA
  2282.         EndM
  2283.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2284.         IMPORT_CFM_FUNCTION GetTrackUserData
  2285.     ENDIF
  2286.  
  2287. ;
  2288. ; pascal OSErr GetTrackDisplayMatrix(Track theTrack, MatrixRecord *matrix)
  2289. ;
  2290.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2291.         Macro
  2292.         _GetTrackDisplayMatrix
  2293.             move.w              #$0263,D0
  2294.             dc.w                $AAAA
  2295.         EndM
  2296.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2297.         IMPORT_CFM_FUNCTION GetTrackDisplayMatrix
  2298.     ENDIF
  2299.  
  2300. ;
  2301. ; pascal OSErr GetTrackSoundLocalizationSettings(Track theTrack, Handle *settings)
  2302. ;
  2303.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2304.         Macro
  2305.         _GetTrackSoundLocalizationSettings
  2306.             move.w              #$0282,D0
  2307.             dc.w                $AAAA
  2308.         EndM
  2309.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2310.         IMPORT_CFM_FUNCTION GetTrackSoundLocalizationSettings
  2311.     ENDIF
  2312.  
  2313. ;
  2314. ; pascal OSErr SetTrackSoundLocalizationSettings(Track theTrack, Handle settings)
  2315. ;
  2316.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2317.         Macro
  2318.         _SetTrackSoundLocalizationSettings
  2319.             move.w              #$0283,D0
  2320.             dc.w                $AAAA
  2321.         EndM
  2322.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2323.         IMPORT_CFM_FUNCTION SetTrackSoundLocalizationSettings
  2324.     ENDIF
  2325.  
  2326. ; *************************
  2327. ;* get Media routines
  2328. ;*************************
  2329.  
  2330. ;
  2331. ; pascal Media NewTrackMedia(Track theTrack, OSType mediaType, TimeScale timeScale, Handle dataRef, OSType dataRefType)
  2332. ;
  2333.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2334.         Macro
  2335.         _NewTrackMedia
  2336.             move.w              #$018E,D0
  2337.             dc.w                $AAAA
  2338.         EndM
  2339.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2340.         IMPORT_CFM_FUNCTION NewTrackMedia
  2341.     ENDIF
  2342.  
  2343. ;
  2344. ; pascal void DisposeTrackMedia(Media theMedia)
  2345. ;
  2346.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2347.         Macro
  2348.         _DisposeTrackMedia
  2349.             moveq               #97,D0
  2350.             dc.w                $AAAA
  2351.         EndM
  2352.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2353.         IMPORT_CFM_FUNCTION DisposeTrackMedia
  2354.     ENDIF
  2355.  
  2356. ;
  2357. ; pascal Media GetTrackMedia(Track theTrack)
  2358. ;
  2359.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2360.         Macro
  2361.         _GetTrackMedia
  2362.             moveq               #98,D0
  2363.             dc.w                $AAAA
  2364.         EndM
  2365.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2366.         IMPORT_CFM_FUNCTION GetTrackMedia
  2367.     ENDIF
  2368.  
  2369. ;
  2370. ; pascal Track GetMediaTrack(Media theMedia)
  2371. ;
  2372.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2373.         Macro
  2374.         _GetMediaTrack
  2375.             move.w              #$00C5,D0
  2376.             dc.w                $AAAA
  2377.         EndM
  2378.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2379.         IMPORT_CFM_FUNCTION GetMediaTrack
  2380.     ENDIF
  2381.  
  2382.  
  2383.  
  2384. ; *************************
  2385. ;* Media State routines
  2386. ;*************************
  2387.  
  2388. ;
  2389. ; pascal unsigned long GetMediaCreationTime(Media theMedia)
  2390. ;
  2391.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2392.         Macro
  2393.         _GetMediaCreationTime
  2394.             moveq               #102,D0
  2395.             dc.w                $AAAA
  2396.         EndM
  2397.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2398.         IMPORT_CFM_FUNCTION GetMediaCreationTime
  2399.     ENDIF
  2400.  
  2401. ;
  2402. ; pascal unsigned long GetMediaModificationTime(Media theMedia)
  2403. ;
  2404.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2405.         Macro
  2406.         _GetMediaModificationTime
  2407.             moveq               #103,D0
  2408.             dc.w                $AAAA
  2409.         EndM
  2410.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2411.         IMPORT_CFM_FUNCTION GetMediaModificationTime
  2412.     ENDIF
  2413.  
  2414. ;
  2415. ; pascal TimeScale GetMediaTimeScale(Media theMedia)
  2416. ;
  2417.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2418.         Macro
  2419.         _GetMediaTimeScale
  2420.             moveq               #104,D0
  2421.             dc.w                $AAAA
  2422.         EndM
  2423.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2424.         IMPORT_CFM_FUNCTION GetMediaTimeScale
  2425.     ENDIF
  2426.  
  2427. ;
  2428. ; pascal void SetMediaTimeScale(Media theMedia, TimeScale timeScale)
  2429. ;
  2430.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2431.         Macro
  2432.         _SetMediaTimeScale
  2433.             moveq               #105,D0
  2434.             dc.w                $AAAA
  2435.         EndM
  2436.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2437.         IMPORT_CFM_FUNCTION SetMediaTimeScale
  2438.     ENDIF
  2439.  
  2440. ;
  2441. ; pascal TimeValue GetMediaDuration(Media theMedia)
  2442. ;
  2443.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2444.         Macro
  2445.         _GetMediaDuration
  2446.             moveq               #106,D0
  2447.             dc.w                $AAAA
  2448.         EndM
  2449.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2450.         IMPORT_CFM_FUNCTION GetMediaDuration
  2451.     ENDIF
  2452.  
  2453. ;
  2454. ; pascal short GetMediaLanguage(Media theMedia)
  2455. ;
  2456.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2457.         Macro
  2458.         _GetMediaLanguage
  2459.             moveq               #107,D0
  2460.             dc.w                $AAAA
  2461.         EndM
  2462.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2463.         IMPORT_CFM_FUNCTION GetMediaLanguage
  2464.     ENDIF
  2465.  
  2466. ;
  2467. ; pascal void SetMediaLanguage(Media theMedia, short language)
  2468. ;
  2469.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2470.         Macro
  2471.         _SetMediaLanguage
  2472.             moveq               #108,D0
  2473.             dc.w                $AAAA
  2474.         EndM
  2475.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2476.         IMPORT_CFM_FUNCTION SetMediaLanguage
  2477.     ENDIF
  2478.  
  2479. ;
  2480. ; pascal short GetMediaQuality(Media theMedia)
  2481. ;
  2482.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2483.         Macro
  2484.         _GetMediaQuality
  2485.             moveq               #109,D0
  2486.             dc.w                $AAAA
  2487.         EndM
  2488.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2489.         IMPORT_CFM_FUNCTION GetMediaQuality
  2490.     ENDIF
  2491.  
  2492. ;
  2493. ; pascal void SetMediaQuality(Media theMedia, short quality)
  2494. ;
  2495.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2496.         Macro
  2497.         _SetMediaQuality
  2498.             moveq               #110,D0
  2499.             dc.w                $AAAA
  2500.         EndM
  2501.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2502.         IMPORT_CFM_FUNCTION SetMediaQuality
  2503.     ENDIF
  2504.  
  2505. ;
  2506. ; pascal void GetMediaHandlerDescription(Media theMedia, OSType *mediaType, Str255 creatorName, OSType *creatorManufacturer)
  2507. ;
  2508.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2509.         Macro
  2510.         _GetMediaHandlerDescription
  2511.             moveq               #111,D0
  2512.             dc.w                $AAAA
  2513.         EndM
  2514.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2515.         IMPORT_CFM_FUNCTION GetMediaHandlerDescription
  2516.     ENDIF
  2517.  
  2518. ;
  2519. ; pascal UserData GetMediaUserData(Media theMedia)
  2520. ;
  2521.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2522.         Macro
  2523.         _GetMediaUserData
  2524.             moveq               #112,D0
  2525.             dc.w                $AAAA
  2526.         EndM
  2527.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2528.         IMPORT_CFM_FUNCTION GetMediaUserData
  2529.     ENDIF
  2530.  
  2531. ;
  2532. ; pascal OSErr GetMediaInputMap(Media theMedia, QTAtomContainer *inputMap)
  2533. ;
  2534.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2535.         Macro
  2536.         _GetMediaInputMap
  2537.             move.w              #$0249,D0
  2538.             dc.w                $AAAA
  2539.         EndM
  2540.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2541.         IMPORT_CFM_FUNCTION GetMediaInputMap
  2542.     ENDIF
  2543.  
  2544. ;
  2545. ; pascal OSErr SetMediaInputMap(Media theMedia, QTAtomContainer inputMap)
  2546. ;
  2547.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2548.         Macro
  2549.         _SetMediaInputMap
  2550.             move.w              #$024A,D0
  2551.             dc.w                $AAAA
  2552.         EndM
  2553.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2554.         IMPORT_CFM_FUNCTION SetMediaInputMap
  2555.     ENDIF
  2556.  
  2557. ; *************************
  2558. ;* Media Handler routines
  2559. ;*************************
  2560.  
  2561. ;
  2562. ; pascal MediaHandler GetMediaHandler(Media theMedia)
  2563. ;
  2564.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2565.         Macro
  2566.         _GetMediaHandler
  2567.             moveq               #113,D0
  2568.             dc.w                $AAAA
  2569.         EndM
  2570.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2571.         IMPORT_CFM_FUNCTION GetMediaHandler
  2572.     ENDIF
  2573.  
  2574. ;
  2575. ; pascal OSErr SetMediaHandler(Media theMedia, MediaHandlerComponent mH)
  2576. ;
  2577.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2578.         Macro
  2579.         _SetMediaHandler
  2580.             move.w              #$0190,D0
  2581.             dc.w                $AAAA
  2582.         EndM
  2583.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2584.         IMPORT_CFM_FUNCTION SetMediaHandler
  2585.     ENDIF
  2586.  
  2587.  
  2588. ; *************************
  2589. ;* Media's Data routines
  2590. ;*************************
  2591.  
  2592. ;
  2593. ; pascal OSErr BeginMediaEdits(Media theMedia)
  2594. ;
  2595.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2596.         Macro
  2597.         _BeginMediaEdits
  2598.             moveq               #114,D0
  2599.             dc.w                $AAAA
  2600.         EndM
  2601.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2602.         IMPORT_CFM_FUNCTION BeginMediaEdits
  2603.     ENDIF
  2604.  
  2605. ;
  2606. ; pascal OSErr EndMediaEdits(Media theMedia)
  2607. ;
  2608.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2609.         Macro
  2610.         _EndMediaEdits
  2611.             moveq               #115,D0
  2612.             dc.w                $AAAA
  2613.         EndM
  2614.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2615.         IMPORT_CFM_FUNCTION EndMediaEdits
  2616.     ENDIF
  2617.  
  2618. ;
  2619. ; pascal OSErr SetMediaDefaultDataRefIndex(Media theMedia, short index)
  2620. ;
  2621.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2622.         Macro
  2623.         _SetMediaDefaultDataRefIndex
  2624.             move.w              #$01E0,D0
  2625.             dc.w                $AAAA
  2626.         EndM
  2627.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2628.         IMPORT_CFM_FUNCTION SetMediaDefaultDataRefIndex
  2629.     ENDIF
  2630.  
  2631. ;
  2632. ; pascal void GetMediaDataHandlerDescription(Media theMedia, short index, OSType *dhType, Str255 creatorName, OSType *creatorManufacturer)
  2633. ;
  2634.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2635.         Macro
  2636.         _GetMediaDataHandlerDescription
  2637.             move.w              #$019E,D0
  2638.             dc.w                $AAAA
  2639.         EndM
  2640.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2641.         IMPORT_CFM_FUNCTION GetMediaDataHandlerDescription
  2642.     ENDIF
  2643.  
  2644. ;
  2645. ; pascal DataHandler GetMediaDataHandler(Media theMedia, short index)
  2646. ;
  2647.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2648.         Macro
  2649.         _GetMediaDataHandler
  2650.             move.w              #$019F,D0
  2651.             dc.w                $AAAA
  2652.         EndM
  2653.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2654.         IMPORT_CFM_FUNCTION GetMediaDataHandler
  2655.     ENDIF
  2656.  
  2657. ;
  2658. ; pascal OSErr SetMediaDataHandler(Media theMedia, short index, DataHandlerComponent dataHandler)
  2659. ;
  2660.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2661.         Macro
  2662.         _SetMediaDataHandler
  2663.             move.w              #$01A0,D0
  2664.             dc.w                $AAAA
  2665.         EndM
  2666.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2667.         IMPORT_CFM_FUNCTION SetMediaDataHandler
  2668.     ENDIF
  2669.  
  2670. ;
  2671. ; pascal Component GetDataHandler(Handle dataRef, OSType dataHandlerSubType, long flags)
  2672. ;
  2673.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2674.         Macro
  2675.         _GetDataHandler
  2676.             move.w              #$01ED,D0
  2677.             dc.w                $AAAA
  2678.         EndM
  2679.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2680.         IMPORT_CFM_FUNCTION GetDataHandler
  2681.     ENDIF
  2682.  
  2683.  
  2684. ; *************************
  2685. ;* Media Sample Table Routines
  2686. ;*************************
  2687.  
  2688. ;
  2689. ; pascal long GetMediaSampleDescriptionCount(Media theMedia)
  2690. ;
  2691.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2692.         Macro
  2693.         _GetMediaSampleDescriptionCount
  2694.             moveq               #119,D0
  2695.             dc.w                $AAAA
  2696.         EndM
  2697.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2698.         IMPORT_CFM_FUNCTION GetMediaSampleDescriptionCount
  2699.     ENDIF
  2700.  
  2701. ;
  2702. ; pascal void GetMediaSampleDescription(Media theMedia, long index, SampleDescriptionHandle descH)
  2703. ;
  2704.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2705.         Macro
  2706.         _GetMediaSampleDescription
  2707.             moveq               #120,D0
  2708.             dc.w                $AAAA
  2709.         EndM
  2710.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2711.         IMPORT_CFM_FUNCTION GetMediaSampleDescription
  2712.     ENDIF
  2713.  
  2714. ;
  2715. ; pascal OSErr SetMediaSampleDescription(Media theMedia, long index, SampleDescriptionHandle descH)
  2716. ;
  2717.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2718.         Macro
  2719.         _SetMediaSampleDescription
  2720.             move.w              #$01D0,D0
  2721.             dc.w                $AAAA
  2722.         EndM
  2723.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2724.         IMPORT_CFM_FUNCTION SetMediaSampleDescription
  2725.     ENDIF
  2726.  
  2727. ;
  2728. ; pascal long GetMediaSampleCount(Media theMedia)
  2729. ;
  2730.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2731.         Macro
  2732.         _GetMediaSampleCount
  2733.             moveq               #121,D0
  2734.             dc.w                $AAAA
  2735.         EndM
  2736.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2737.         IMPORT_CFM_FUNCTION GetMediaSampleCount
  2738.     ENDIF
  2739.  
  2740. ;
  2741. ; pascal long GetMediaSyncSampleCount(Media theMedia)
  2742. ;
  2743.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2744.         Macro
  2745.         _GetMediaSyncSampleCount
  2746.             move.w              #$02B2,D0
  2747.             dc.w                $AAAA
  2748.         EndM
  2749.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2750.         IMPORT_CFM_FUNCTION GetMediaSyncSampleCount
  2751.     ENDIF
  2752.  
  2753. ;
  2754. ; pascal void SampleNumToMediaTime(Media theMedia, long logicalSampleNum, TimeValue *sampleTime, TimeValue *sampleDuration)
  2755. ;
  2756.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2757.         Macro
  2758.         _SampleNumToMediaTime
  2759.             moveq               #122,D0
  2760.             dc.w                $AAAA
  2761.         EndM
  2762.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2763.         IMPORT_CFM_FUNCTION SampleNumToMediaTime
  2764.     ENDIF
  2765.  
  2766. ;
  2767. ; pascal void MediaTimeToSampleNum(Media theMedia, TimeValue time, long *sampleNum, TimeValue *sampleTime, TimeValue *sampleDuration)
  2768. ;
  2769.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2770.         Macro
  2771.         _MediaTimeToSampleNum
  2772.             moveq               #123,D0
  2773.             dc.w                $AAAA
  2774.         EndM
  2775.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2776.         IMPORT_CFM_FUNCTION MediaTimeToSampleNum
  2777.     ENDIF
  2778.  
  2779.  
  2780. ;
  2781. ; pascal OSErr AddMediaSample(Media theMedia, Handle dataIn, long inOffset, unsigned long size, TimeValue durationPerSample, SampleDescriptionHandle sampleDescriptionH, long numberOfSamples, short sampleFlags, TimeValue *sampleTime)
  2782. ;
  2783.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2784.         Macro
  2785.         _AddMediaSample
  2786.             moveq               #124,D0
  2787.             dc.w                $AAAA
  2788.         EndM
  2789.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2790.         IMPORT_CFM_FUNCTION AddMediaSample
  2791.     ENDIF
  2792.  
  2793. ;
  2794. ; pascal OSErr AddMediaSampleReference(Media theMedia, long dataOffset, unsigned long size, TimeValue durationPerSample, SampleDescriptionHandle sampleDescriptionH, long numberOfSamples, short sampleFlags, TimeValue *sampleTime)
  2795. ;
  2796.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2797.         Macro
  2798.         _AddMediaSampleReference
  2799.             moveq               #125,D0
  2800.             dc.w                $AAAA
  2801.         EndM
  2802.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2803.         IMPORT_CFM_FUNCTION AddMediaSampleReference
  2804.     ENDIF
  2805.  
  2806. ;
  2807. ; pascal OSErr AddMediaSampleReferences(Media theMedia, SampleDescriptionHandle sampleDescriptionH, long numberOfSamples, SampleReferencePtr sampleRefs, TimeValue *sampleTime)
  2808. ;
  2809.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2810.         Macro
  2811.         _AddMediaSampleReferences
  2812.             move.w              #$01F7,D0
  2813.             dc.w                $AAAA
  2814.         EndM
  2815.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2816.         IMPORT_CFM_FUNCTION AddMediaSampleReferences
  2817.     ENDIF
  2818.  
  2819. ;
  2820. ; pascal OSErr GetMediaSample(Media theMedia, Handle dataOut, long maxSizeToGrow, long *size, TimeValue time, TimeValue *sampleTime, TimeValue *durationPerSample, SampleDescriptionHandle sampleDescriptionH, long *sampleDescriptionIndex, long maxNumberOfSamples, long *numberOfSamples, short *sampleFlags)
  2821. ;
  2822.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2823.         Macro
  2824.         _GetMediaSample
  2825.             moveq               #126,D0
  2826.             dc.w                $AAAA
  2827.         EndM
  2828.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2829.         IMPORT_CFM_FUNCTION GetMediaSample
  2830.     ENDIF
  2831.  
  2832. ;
  2833. ; pascal OSErr GetMediaSampleReference(Media theMedia, long *dataOffset, long *size, TimeValue time, TimeValue *sampleTime, TimeValue *durationPerSample, SampleDescriptionHandle sampleDescriptionH, long *sampleDescriptionIndex, long maxNumberOfSamples, long *numberOfSamples, short *sampleFlags)
  2834. ;
  2835.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2836.         Macro
  2837.         _GetMediaSampleReference
  2838.             moveq               #127,D0
  2839.             dc.w                $AAAA
  2840.         EndM
  2841.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2842.         IMPORT_CFM_FUNCTION GetMediaSampleReference
  2843.     ENDIF
  2844.  
  2845. ;
  2846. ; pascal OSErr GetMediaSampleReferences(Media theMedia, TimeValue time, TimeValue *sampleTime, SampleDescriptionHandle sampleDescriptionH, long *sampleDescriptionIndex, long maxNumberOfEntries, long *actualNumberofEntries, SampleReferencePtr sampleRefs)
  2847. ;
  2848.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2849.         Macro
  2850.         _GetMediaSampleReferences
  2851.             move.w              #$0235,D0
  2852.             dc.w                $AAAA
  2853.         EndM
  2854.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2855.         IMPORT_CFM_FUNCTION GetMediaSampleReferences
  2856.     ENDIF
  2857.  
  2858. ;
  2859. ; pascal OSErr SetMediaPreferredChunkSize(Media theMedia, long maxChunkSize)
  2860. ;
  2861.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2862.         Macro
  2863.         _SetMediaPreferredChunkSize
  2864.             move.w              #$01F8,D0
  2865.             dc.w                $AAAA
  2866.         EndM
  2867.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2868.         IMPORT_CFM_FUNCTION SetMediaPreferredChunkSize
  2869.     ENDIF
  2870.  
  2871. ;
  2872. ; pascal OSErr GetMediaPreferredChunkSize(Media theMedia, long *maxChunkSize)
  2873. ;
  2874.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2875.         Macro
  2876.         _GetMediaPreferredChunkSize
  2877.             move.w              #$01F9,D0
  2878.             dc.w                $AAAA
  2879.         EndM
  2880.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2881.         IMPORT_CFM_FUNCTION GetMediaPreferredChunkSize
  2882.     ENDIF
  2883.  
  2884. ;
  2885. ; pascal OSErr SetMediaShadowSync(Media theMedia, long frameDiffSampleNum, long syncSampleNum)
  2886. ;
  2887.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2888.         Macro
  2889.         _SetMediaShadowSync
  2890.             move.w              #$0121,D0
  2891.             dc.w                $AAAA
  2892.         EndM
  2893.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2894.         IMPORT_CFM_FUNCTION SetMediaShadowSync
  2895.     ENDIF
  2896.  
  2897. ;
  2898. ; pascal OSErr GetMediaShadowSync(Media theMedia, long frameDiffSampleNum, long *syncSampleNum)
  2899. ;
  2900.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2901.         Macro
  2902.         _GetMediaShadowSync
  2903.             move.w              #$0122,D0
  2904.             dc.w                $AAAA
  2905.         EndM
  2906.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2907.         IMPORT_CFM_FUNCTION GetMediaShadowSync
  2908.     ENDIF
  2909.  
  2910. ; *************************
  2911. ;* Editing Routines
  2912. ;*************************
  2913.  
  2914. ;
  2915. ; pascal OSErr InsertMediaIntoTrack(Track theTrack, TimeValue trackStart, TimeValue mediaTime, TimeValue mediaDuration, Fixed mediaRate)
  2916. ;
  2917.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2918.         Macro
  2919.         _InsertMediaIntoTrack
  2920.             move.w              #$0183,D0
  2921.             dc.w                $AAAA
  2922.         EndM
  2923.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2924.         IMPORT_CFM_FUNCTION InsertMediaIntoTrack
  2925.     ENDIF
  2926.  
  2927. ;
  2928. ; pascal OSErr InsertTrackSegment(Track srcTrack, Track dstTrack, TimeValue srcIn, TimeValue srcDuration, TimeValue dstIn)
  2929. ;
  2930.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2931.         Macro
  2932.         _InsertTrackSegment
  2933.             move.w              #$0085,D0
  2934.             dc.w                $AAAA
  2935.         EndM
  2936.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2937.         IMPORT_CFM_FUNCTION InsertTrackSegment
  2938.     ENDIF
  2939.  
  2940. ;
  2941. ; pascal OSErr InsertMovieSegment(Movie srcMovie, Movie dstMovie, TimeValue srcIn, TimeValue srcDuration, TimeValue dstIn)
  2942. ;
  2943.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2944.         Macro
  2945.         _InsertMovieSegment
  2946.             move.w              #$0086,D0
  2947.             dc.w                $AAAA
  2948.         EndM
  2949.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2950.         IMPORT_CFM_FUNCTION InsertMovieSegment
  2951.     ENDIF
  2952.  
  2953. ;
  2954. ; pascal OSErr InsertEmptyTrackSegment(Track dstTrack, TimeValue dstIn, TimeValue dstDuration)
  2955. ;
  2956.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2957.         Macro
  2958.         _InsertEmptyTrackSegment
  2959.             move.w              #$0087,D0
  2960.             dc.w                $AAAA
  2961.         EndM
  2962.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2963.         IMPORT_CFM_FUNCTION InsertEmptyTrackSegment
  2964.     ENDIF
  2965.  
  2966. ;
  2967. ; pascal OSErr InsertEmptyMovieSegment(Movie dstMovie, TimeValue dstIn, TimeValue dstDuration)
  2968. ;
  2969.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2970.         Macro
  2971.         _InsertEmptyMovieSegment
  2972.             move.w              #$0088,D0
  2973.             dc.w                $AAAA
  2974.         EndM
  2975.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2976.         IMPORT_CFM_FUNCTION InsertEmptyMovieSegment
  2977.     ENDIF
  2978.  
  2979. ;
  2980. ; pascal OSErr DeleteTrackSegment(Track theTrack, TimeValue startTime, TimeValue duration)
  2981. ;
  2982.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2983.         Macro
  2984.         _DeleteTrackSegment
  2985.             move.w              #$0089,D0
  2986.             dc.w                $AAAA
  2987.         EndM
  2988.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2989.         IMPORT_CFM_FUNCTION DeleteTrackSegment
  2990.     ENDIF
  2991.  
  2992. ;
  2993. ; pascal OSErr DeleteMovieSegment(Movie theMovie, TimeValue startTime, TimeValue duration)
  2994. ;
  2995.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2996.         Macro
  2997.         _DeleteMovieSegment
  2998.             move.w              #$008A,D0
  2999.             dc.w                $AAAA
  3000.         EndM
  3001.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3002.         IMPORT_CFM_FUNCTION DeleteMovieSegment
  3003.     ENDIF
  3004.  
  3005. ;
  3006. ; pascal OSErr ScaleTrackSegment(Track theTrack, TimeValue startTime, TimeValue oldDuration, TimeValue newDuration)
  3007. ;
  3008.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3009.         Macro
  3010.         _ScaleTrackSegment
  3011.             move.w              #$008B,D0
  3012.             dc.w                $AAAA
  3013.         EndM
  3014.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3015.         IMPORT_CFM_FUNCTION ScaleTrackSegment
  3016.     ENDIF
  3017.  
  3018. ;
  3019. ; pascal OSErr ScaleMovieSegment(Movie theMovie, TimeValue startTime, TimeValue oldDuration, TimeValue newDuration)
  3020. ;
  3021.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3022.         Macro
  3023.         _ScaleMovieSegment
  3024.             move.w              #$008C,D0
  3025.             dc.w                $AAAA
  3026.         EndM
  3027.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3028.         IMPORT_CFM_FUNCTION ScaleMovieSegment
  3029.     ENDIF
  3030.  
  3031.  
  3032. ; *************************
  3033. ;* Hi-level Editing Routines
  3034. ;*************************
  3035.  
  3036. ;
  3037. ; pascal Movie CutMovieSelection(Movie theMovie)
  3038. ;
  3039.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3040.         Macro
  3041.         _CutMovieSelection
  3042.             move.w              #$008D,D0
  3043.             dc.w                $AAAA
  3044.         EndM
  3045.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3046.         IMPORT_CFM_FUNCTION CutMovieSelection
  3047.     ENDIF
  3048.  
  3049. ;
  3050. ; pascal Movie CopyMovieSelection(Movie theMovie)
  3051. ;
  3052.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3053.         Macro
  3054.         _CopyMovieSelection
  3055.             move.w              #$008E,D0
  3056.             dc.w                $AAAA
  3057.         EndM
  3058.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3059.         IMPORT_CFM_FUNCTION CopyMovieSelection
  3060.     ENDIF
  3061.  
  3062. ;
  3063. ; pascal void PasteMovieSelection(Movie theMovie, Movie src)
  3064. ;
  3065.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3066.         Macro
  3067.         _PasteMovieSelection
  3068.             move.w              #$008F,D0
  3069.             dc.w                $AAAA
  3070.         EndM
  3071.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3072.         IMPORT_CFM_FUNCTION PasteMovieSelection
  3073.     ENDIF
  3074.  
  3075. ;
  3076. ; pascal void AddMovieSelection(Movie theMovie, Movie src)
  3077. ;
  3078.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3079.         Macro
  3080.         _AddMovieSelection
  3081.             move.w              #$0152,D0
  3082.             dc.w                $AAAA
  3083.         EndM
  3084.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3085.         IMPORT_CFM_FUNCTION AddMovieSelection
  3086.     ENDIF
  3087.  
  3088. ;
  3089. ; pascal void ClearMovieSelection(Movie theMovie)
  3090. ;
  3091.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3092.         Macro
  3093.         _ClearMovieSelection
  3094.             move.w              #$00E1,D0
  3095.             dc.w                $AAAA
  3096.         EndM
  3097.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3098.         IMPORT_CFM_FUNCTION ClearMovieSelection
  3099.     ENDIF
  3100.  
  3101. ;
  3102. ; pascal OSErr PasteHandleIntoMovie(Handle h, OSType handleType, Movie theMovie, long flags, ComponentInstance userComp)
  3103. ;
  3104.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3105.         Macro
  3106.         _PasteHandleIntoMovie
  3107.             move.w              #$00CB,D0
  3108.             dc.w                $AAAA
  3109.         EndM
  3110.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3111.         IMPORT_CFM_FUNCTION PasteHandleIntoMovie
  3112.     ENDIF
  3113.  
  3114. ;
  3115. ; pascal OSErr PutMovieIntoTypedHandle(Movie theMovie, Track targetTrack, OSType handleType, Handle publicMovie, TimeValue start, TimeValue dur, long flags, ComponentInstance userComp)
  3116. ;
  3117.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3118.         Macro
  3119.         _PutMovieIntoTypedHandle
  3120.             move.w              #$01CD,D0
  3121.             dc.w                $AAAA
  3122.         EndM
  3123.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3124.         IMPORT_CFM_FUNCTION PutMovieIntoTypedHandle
  3125.     ENDIF
  3126.  
  3127. ;
  3128. ; pascal Component IsScrapMovie(Track targetTrack)
  3129. ;
  3130.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3131.         Macro
  3132.         _IsScrapMovie
  3133.             move.w              #$00CC,D0
  3134.             dc.w                $AAAA
  3135.         EndM
  3136.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3137.         IMPORT_CFM_FUNCTION IsScrapMovie
  3138.     ENDIF
  3139.  
  3140. ; *************************
  3141. ;* Middle-level Editing Routines
  3142. ;*************************
  3143.  
  3144. ;
  3145. ; pascal OSErr CopyTrackSettings(Track srcTrack, Track dstTrack)
  3146. ;
  3147.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3148.         Macro
  3149.         _CopyTrackSettings
  3150.             move.w              #$0153,D0
  3151.             dc.w                $AAAA
  3152.         EndM
  3153.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3154.         IMPORT_CFM_FUNCTION CopyTrackSettings
  3155.     ENDIF
  3156.  
  3157. ;
  3158. ; pascal OSErr CopyMovieSettings(Movie srcMovie, Movie dstMovie)
  3159. ;
  3160.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3161.         Macro
  3162.         _CopyMovieSettings
  3163.             move.w              #$0154,D0
  3164.             dc.w                $AAAA
  3165.         EndM
  3166.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3167.         IMPORT_CFM_FUNCTION CopyMovieSettings
  3168.     ENDIF
  3169.  
  3170. ;
  3171. ; pascal OSErr AddEmptyTrackToMovie(Track srcTrack, Movie dstMovie, Handle dataRef, OSType dataRefType, Track *dstTrack)
  3172. ;
  3173.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3174.         Macro
  3175.         _AddEmptyTrackToMovie
  3176.             moveq               #116,D0
  3177.             dc.w                $AAAA
  3178.         EndM
  3179.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3180.         IMPORT_CFM_FUNCTION AddEmptyTrackToMovie
  3181.     ENDIF
  3182.  
  3183. ; *************************
  3184. ;* movie & track edit state routines
  3185. ;*************************
  3186.  
  3187. ;
  3188. ; pascal MovieEditState NewMovieEditState(Movie theMovie)
  3189. ;
  3190.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3191.         Macro
  3192.         _NewMovieEditState
  3193.             move.w              #$0104,D0
  3194.             dc.w                $AAAA
  3195.         EndM
  3196.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3197.         IMPORT_CFM_FUNCTION NewMovieEditState
  3198.     ENDIF
  3199.  
  3200. ;
  3201. ; pascal OSErr UseMovieEditState(Movie theMovie, MovieEditState toState)
  3202. ;
  3203.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3204.         Macro
  3205.         _UseMovieEditState
  3206.             move.w              #$0105,D0
  3207.             dc.w                $AAAA
  3208.         EndM
  3209.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3210.         IMPORT_CFM_FUNCTION UseMovieEditState
  3211.     ENDIF
  3212.  
  3213. ;
  3214. ; pascal OSErr DisposeMovieEditState(MovieEditState state)
  3215. ;
  3216.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3217.         Macro
  3218.         _DisposeMovieEditState
  3219.             move.w              #$0106,D0
  3220.             dc.w                $AAAA
  3221.         EndM
  3222.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3223.         IMPORT_CFM_FUNCTION DisposeMovieEditState
  3224.     ENDIF
  3225.  
  3226. ;
  3227. ; pascal TrackEditState NewTrackEditState(Track theTrack)
  3228. ;
  3229.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3230.         Macro
  3231.         _NewTrackEditState
  3232.             move.w              #$0107,D0
  3233.             dc.w                $AAAA
  3234.         EndM
  3235.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3236.         IMPORT_CFM_FUNCTION NewTrackEditState
  3237.     ENDIF
  3238.  
  3239. ;
  3240. ; pascal OSErr UseTrackEditState(Track theTrack, TrackEditState state)
  3241. ;
  3242.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3243.         Macro
  3244.         _UseTrackEditState
  3245.             move.w              #$0108,D0
  3246.             dc.w                $AAAA
  3247.         EndM
  3248.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3249.         IMPORT_CFM_FUNCTION UseTrackEditState
  3250.     ENDIF
  3251.  
  3252. ;
  3253. ; pascal OSErr DisposeTrackEditState(TrackEditState state)
  3254. ;
  3255.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3256.         Macro
  3257.         _DisposeTrackEditState
  3258.             move.w              #$0109,D0
  3259.             dc.w                $AAAA
  3260.         EndM
  3261.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3262.         IMPORT_CFM_FUNCTION DisposeTrackEditState
  3263.     ENDIF
  3264.  
  3265. ; *************************
  3266. ;* track reference routines
  3267. ;*************************
  3268.  
  3269. ;
  3270. ; pascal OSErr AddTrackReference(Track theTrack, Track refTrack, OSType refType, long *addedIndex)
  3271. ;
  3272.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3273.         Macro
  3274.         _AddTrackReference
  3275.             move.w              #$01F0,D0
  3276.             dc.w                $AAAA
  3277.         EndM
  3278.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3279.         IMPORT_CFM_FUNCTION AddTrackReference
  3280.     ENDIF
  3281.  
  3282. ;
  3283. ; pascal OSErr DeleteTrackReference(Track theTrack, OSType refType, long index)
  3284. ;
  3285.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3286.         Macro
  3287.         _DeleteTrackReference
  3288.             move.w              #$01F1,D0
  3289.             dc.w                $AAAA
  3290.         EndM
  3291.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3292.         IMPORT_CFM_FUNCTION DeleteTrackReference
  3293.     ENDIF
  3294.  
  3295. ;
  3296. ; pascal OSErr SetTrackReference(Track theTrack, Track refTrack, OSType refType, long index)
  3297. ;
  3298.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3299.         Macro
  3300.         _SetTrackReference
  3301.             move.w              #$01F2,D0
  3302.             dc.w                $AAAA
  3303.         EndM
  3304.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3305.         IMPORT_CFM_FUNCTION SetTrackReference
  3306.     ENDIF
  3307.  
  3308. ;
  3309. ; pascal Track GetTrackReference(Track theTrack, OSType refType, long index)
  3310. ;
  3311.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3312.         Macro
  3313.         _GetTrackReference
  3314.             move.w              #$01F3,D0
  3315.             dc.w                $AAAA
  3316.         EndM
  3317.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3318.         IMPORT_CFM_FUNCTION GetTrackReference
  3319.     ENDIF
  3320.  
  3321. ;
  3322. ; pascal OSType GetNextTrackReferenceType(Track theTrack, OSType refType)
  3323. ;
  3324.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3325.         Macro
  3326.         _GetNextTrackReferenceType
  3327.             move.w              #$01F4,D0
  3328.             dc.w                $AAAA
  3329.         EndM
  3330.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3331.         IMPORT_CFM_FUNCTION GetNextTrackReferenceType
  3332.     ENDIF
  3333.  
  3334. ;
  3335. ; pascal long GetTrackReferenceCount(Track theTrack, OSType refType)
  3336. ;
  3337.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3338.         Macro
  3339.         _GetTrackReferenceCount
  3340.             move.w              #$01F5,D0
  3341.             dc.w                $AAAA
  3342.         EndM
  3343.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3344.         IMPORT_CFM_FUNCTION GetTrackReferenceCount
  3345.     ENDIF
  3346.  
  3347.  
  3348. ; *************************
  3349. ;* high level file conversion routines
  3350. ;*************************
  3351.  
  3352. ;
  3353. ; pascal OSErr ConvertFileToMovieFile(const FSSpec *inputFile, const FSSpec *outputFile, OSType creator, ScriptCode scriptTag, short *resID, long flags, ComponentInstance userComp, MovieProgressUPP proc, long refCon)
  3354. ;
  3355.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3356.         Macro
  3357.         _ConvertFileToMovieFile
  3358.             move.w              #$01CB,D0
  3359.             dc.w                $AAAA
  3360.         EndM
  3361.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3362.         IMPORT_CFM_FUNCTION ConvertFileToMovieFile
  3363.     ENDIF
  3364.  
  3365. ;
  3366. ; pascal OSErr ConvertMovieToFile(Movie theMovie, Track onlyTrack, FSSpec *outputFile, OSType fileType, OSType creator, ScriptCode scriptTag, short *resID, long flags, ComponentInstance userComp)
  3367. ;
  3368.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3369.         Macro
  3370.         _ConvertMovieToFile
  3371.             move.w              #$01CC,D0
  3372.             dc.w                $AAAA
  3373.         EndM
  3374.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3375.         IMPORT_CFM_FUNCTION ConvertMovieToFile
  3376.     ENDIF
  3377.  
  3378.  
  3379. kGetMovieImporterValidateToFind    EQU        $00000001
  3380. kGetMovieImporterAllowNewFile    EQU        $00000002
  3381. kGetMovieImporterDontConsiderGraphicsImporters EQU $00000004
  3382. ;
  3383. ; pascal OSErr GetMovieImporterForDataRef(OSType dataRefType, Handle dataRef, long flags, Component *importer)
  3384. ;
  3385.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3386.         Macro
  3387.         _GetMovieImporterForDataRef
  3388.             move.w              #$02C7,D0
  3389.             dc.w                $AAAA
  3390.         EndM
  3391.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3392.         IMPORT_CFM_FUNCTION GetMovieImporterForDataRef
  3393.     ENDIF
  3394.  
  3395. ; *************************
  3396. ;* Movie Timebase Conversion Routines
  3397. ;*************************
  3398.  
  3399. ;
  3400. ; pascal TimeValue TrackTimeToMediaTime(TimeValue value, Track theTrack)
  3401. ;
  3402.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3403.         Macro
  3404.         _TrackTimeToMediaTime
  3405.             move.w              #$0096,D0
  3406.             dc.w                $AAAA
  3407.         EndM
  3408.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3409.         IMPORT_CFM_FUNCTION TrackTimeToMediaTime
  3410.     ENDIF
  3411.  
  3412. ;
  3413. ; pascal Fixed GetTrackEditRate(Track theTrack, TimeValue atTime)
  3414. ;
  3415.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3416.         Macro
  3417.         _GetTrackEditRate
  3418.             move.w              #$0123,D0
  3419.             dc.w                $AAAA
  3420.         EndM
  3421.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3422.         IMPORT_CFM_FUNCTION GetTrackEditRate
  3423.     ENDIF
  3424.  
  3425.  
  3426. ; *************************
  3427. ;* Miscellaneous Routines
  3428. ;*************************
  3429.  
  3430.  
  3431. ;
  3432. ; pascal long GetMovieDataSize(Movie theMovie, TimeValue startTime, TimeValue duration)
  3433. ;
  3434.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3435.         Macro
  3436.         _GetMovieDataSize
  3437.             move.w              #$0098,D0
  3438.             dc.w                $AAAA
  3439.         EndM
  3440.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3441.         IMPORT_CFM_FUNCTION GetMovieDataSize
  3442.     ENDIF
  3443.  
  3444. ;
  3445. ; pascal long GetTrackDataSize(Track theTrack, TimeValue startTime, TimeValue duration)
  3446. ;
  3447.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3448.         Macro
  3449.         _GetTrackDataSize
  3450.             move.w              #$0149,D0
  3451.             dc.w                $AAAA
  3452.         EndM
  3453.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3454.         IMPORT_CFM_FUNCTION GetTrackDataSize
  3455.     ENDIF
  3456.  
  3457. ;
  3458. ; pascal long GetMediaDataSize(Media theMedia, TimeValue startTime, TimeValue duration)
  3459. ;
  3460.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3461.         Macro
  3462.         _GetMediaDataSize
  3463.             move.w              #$0099,D0
  3464.             dc.w                $AAAA
  3465.         EndM
  3466.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3467.         IMPORT_CFM_FUNCTION GetMediaDataSize
  3468.     ENDIF
  3469.  
  3470. ;
  3471. ; pascal Boolean PtInMovie(Movie theMovie, Point pt)
  3472. ;
  3473.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3474.         Macro
  3475.         _PtInMovie
  3476.             move.w              #$009A,D0
  3477.             dc.w                $AAAA
  3478.         EndM
  3479.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3480.         IMPORT_CFM_FUNCTION PtInMovie
  3481.     ENDIF
  3482.  
  3483. ;
  3484. ; pascal Boolean PtInTrack(Track theTrack, Point pt)
  3485. ;
  3486.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3487.         Macro
  3488.         _PtInTrack
  3489.             move.w              #$009B,D0
  3490.             dc.w                $AAAA
  3491.         EndM
  3492.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3493.         IMPORT_CFM_FUNCTION PtInTrack
  3494.     ENDIF
  3495.  
  3496.  
  3497. ; *************************
  3498. ;* Group Selection Routines
  3499. ;*************************
  3500.  
  3501.  
  3502. ;
  3503. ; pascal void SetMovieLanguage(Movie theMovie, long language)
  3504. ;
  3505.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3506.         Macro
  3507.         _SetMovieLanguage
  3508.             move.w              #$009C,D0
  3509.             dc.w                $AAAA
  3510.         EndM
  3511.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3512.         IMPORT_CFM_FUNCTION SetMovieLanguage
  3513.     ENDIF
  3514.  
  3515.  
  3516. ; *************************
  3517. ;* User Data
  3518. ;*************************
  3519.  
  3520.  
  3521. ;
  3522. ; pascal OSErr GetUserData(UserData theUserData, Handle data, OSType udType, long index)
  3523. ;
  3524.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3525.         Macro
  3526.         _GetUserData
  3527.             move.w              #$009E,D0
  3528.             dc.w                $AAAA
  3529.         EndM
  3530.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3531.         IMPORT_CFM_FUNCTION GetUserData
  3532.     ENDIF
  3533.  
  3534. ;
  3535. ; pascal OSErr AddUserData(UserData theUserData, Handle data, OSType udType)
  3536. ;
  3537.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3538.         Macro
  3539.         _AddUserData
  3540.             move.w              #$009F,D0
  3541.             dc.w                $AAAA
  3542.         EndM
  3543.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3544.         IMPORT_CFM_FUNCTION AddUserData
  3545.     ENDIF
  3546.  
  3547. ;
  3548. ; pascal OSErr RemoveUserData(UserData theUserData, OSType udType, long index)
  3549. ;
  3550.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3551.         Macro
  3552.         _RemoveUserData
  3553.             move.w              #$00A0,D0
  3554.             dc.w                $AAAA
  3555.         EndM
  3556.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3557.         IMPORT_CFM_FUNCTION RemoveUserData
  3558.     ENDIF
  3559.  
  3560. ;
  3561. ; pascal short CountUserDataType(UserData theUserData, OSType udType)
  3562. ;
  3563.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3564.         Macro
  3565.         _CountUserDataType
  3566.             move.w              #$014B,D0
  3567.             dc.w                $AAAA
  3568.         EndM
  3569.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3570.         IMPORT_CFM_FUNCTION CountUserDataType
  3571.     ENDIF
  3572.  
  3573. ;
  3574. ; pascal long GetNextUserDataType(UserData theUserData, OSType udType)
  3575. ;
  3576.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3577.         Macro
  3578.         _GetNextUserDataType
  3579.             move.w              #$01A5,D0
  3580.             dc.w                $AAAA
  3581.         EndM
  3582.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3583.         IMPORT_CFM_FUNCTION GetNextUserDataType
  3584.     ENDIF
  3585.  
  3586. ;
  3587. ; pascal OSErr GetUserDataItem(UserData theUserData, void *data, long size, OSType udType, long index)
  3588. ;
  3589.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3590.         Macro
  3591.         _GetUserDataItem
  3592.             move.w              #$0126,D0
  3593.             dc.w                $AAAA
  3594.         EndM
  3595.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3596.         IMPORT_CFM_FUNCTION GetUserDataItem
  3597.     ENDIF
  3598.  
  3599. ;
  3600. ; pascal OSErr SetUserDataItem(UserData theUserData, void *data, long size, OSType udType, long index)
  3601. ;
  3602.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3603.         Macro
  3604.         _SetUserDataItem
  3605.             move.w              #$012E,D0
  3606.             dc.w                $AAAA
  3607.         EndM
  3608.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3609.         IMPORT_CFM_FUNCTION SetUserDataItem
  3610.     ENDIF
  3611.  
  3612. ;
  3613. ; pascal OSErr AddUserDataText(UserData theUserData, Handle data, OSType udType, long index, short itlRegionTag)
  3614. ;
  3615.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3616.         Macro
  3617.         _AddUserDataText
  3618.             move.w              #$014C,D0
  3619.             dc.w                $AAAA
  3620.         EndM
  3621.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3622.         IMPORT_CFM_FUNCTION AddUserDataText
  3623.     ENDIF
  3624.  
  3625. ;
  3626. ; pascal OSErr GetUserDataText(UserData theUserData, Handle data, OSType udType, long index, short itlRegionTag)
  3627. ;
  3628.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3629.         Macro
  3630.         _GetUserDataText
  3631.             move.w              #$014D,D0
  3632.             dc.w                $AAAA
  3633.         EndM
  3634.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3635.         IMPORT_CFM_FUNCTION GetUserDataText
  3636.     ENDIF
  3637.  
  3638. ;
  3639. ; pascal OSErr RemoveUserDataText(UserData theUserData, OSType udType, long index, short itlRegionTag)
  3640. ;
  3641.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3642.         Macro
  3643.         _RemoveUserDataText
  3644.             move.w              #$014E,D0
  3645.             dc.w                $AAAA
  3646.         EndM
  3647.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3648.         IMPORT_CFM_FUNCTION RemoveUserDataText
  3649.     ENDIF
  3650.  
  3651. ;
  3652. ; pascal OSErr NewUserData(UserData *theUserData)
  3653. ;
  3654.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3655.         Macro
  3656.         _NewUserData
  3657.             move.w              #$012F,D0
  3658.             dc.w                $AAAA
  3659.         EndM
  3660.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3661.         IMPORT_CFM_FUNCTION NewUserData
  3662.     ENDIF
  3663.  
  3664. ;
  3665. ; pascal OSErr DisposeUserData(UserData theUserData)
  3666. ;
  3667.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3668.         Macro
  3669.         _DisposeUserData
  3670.             move.w              #$0130,D0
  3671.             dc.w                $AAAA
  3672.         EndM
  3673.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3674.         IMPORT_CFM_FUNCTION DisposeUserData
  3675.     ENDIF
  3676.  
  3677. ;
  3678. ; pascal OSErr NewUserDataFromHandle(Handle h, UserData *theUserData)
  3679. ;
  3680.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3681.         Macro
  3682.         _NewUserDataFromHandle
  3683.             move.w              #$0131,D0
  3684.             dc.w                $AAAA
  3685.         EndM
  3686.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3687.         IMPORT_CFM_FUNCTION NewUserDataFromHandle
  3688.     ENDIF
  3689.  
  3690. ;
  3691. ; pascal OSErr PutUserDataIntoHandle(UserData theUserData, Handle h)
  3692. ;
  3693.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3694.         Macro
  3695.         _PutUserDataIntoHandle
  3696.             move.w              #$0132,D0
  3697.             dc.w                $AAAA
  3698.         EndM
  3699.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3700.         IMPORT_CFM_FUNCTION PutUserDataIntoHandle
  3701.     ENDIF
  3702.  
  3703. ;
  3704. ; pascal void GetMediaNextInterestingTime(Media theMedia, short interestingTimeFlags, TimeValue time, Fixed rate, TimeValue *interestingTime, TimeValue *interestingDuration)
  3705. ;
  3706.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3707.         Macro
  3708.         _GetMediaNextInterestingTime
  3709.             move.w              #$016D,D0
  3710.             dc.w                $AAAA
  3711.         EndM
  3712.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3713.         IMPORT_CFM_FUNCTION GetMediaNextInterestingTime
  3714.     ENDIF
  3715.  
  3716. ;
  3717. ; pascal void GetTrackNextInterestingTime(Track theTrack, short interestingTimeFlags, TimeValue time, Fixed rate, TimeValue *interestingTime, TimeValue *interestingDuration)
  3718. ;
  3719.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3720.         Macro
  3721.         _GetTrackNextInterestingTime
  3722.             move.w              #$00E2,D0
  3723.             dc.w                $AAAA
  3724.         EndM
  3725.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3726.         IMPORT_CFM_FUNCTION GetTrackNextInterestingTime
  3727.     ENDIF
  3728.  
  3729. ;
  3730. ; pascal void GetMovieNextInterestingTime(Movie theMovie, short interestingTimeFlags, short numMediaTypes, const OSType *whichMediaTypes, TimeValue time, Fixed rate, TimeValue *interestingTime, TimeValue *interestingDuration)
  3731. ;
  3732.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3733.         Macro
  3734.         _GetMovieNextInterestingTime
  3735.             move.w              #$010E,D0
  3736.             dc.w                $AAAA
  3737.         EndM
  3738.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3739.         IMPORT_CFM_FUNCTION GetMovieNextInterestingTime
  3740.     ENDIF
  3741.  
  3742.  
  3743. ;
  3744. ; pascal OSErr CreateMovieFile(const FSSpec *fileSpec, OSType creator, ScriptCode scriptTag, long createMovieFileFlags, short *resRefNum, Movie *newmovie)
  3745. ;
  3746.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3747.         Macro
  3748.         _CreateMovieFile
  3749.             move.w              #$0191,D0
  3750.             dc.w                $AAAA
  3751.         EndM
  3752.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3753.         IMPORT_CFM_FUNCTION CreateMovieFile
  3754.     ENDIF
  3755.  
  3756. ;
  3757. ; pascal OSErr OpenMovieFile(const FSSpec *fileSpec, short *resRefNum, SInt8 permission)
  3758. ;
  3759.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3760.         Macro
  3761.         _OpenMovieFile
  3762.             move.w              #$0192,D0
  3763.             dc.w                $AAAA
  3764.         EndM
  3765.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3766.         IMPORT_CFM_FUNCTION OpenMovieFile
  3767.     ENDIF
  3768.  
  3769. ;
  3770. ; pascal OSErr CloseMovieFile(short resRefNum)
  3771. ;
  3772.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3773.         Macro
  3774.         _CloseMovieFile
  3775.             move.w              #$00D5,D0
  3776.             dc.w                $AAAA
  3777.         EndM
  3778.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3779.         IMPORT_CFM_FUNCTION CloseMovieFile
  3780.     ENDIF
  3781.  
  3782. ;
  3783. ; pascal OSErr DeleteMovieFile(const FSSpec *fileSpec)
  3784. ;
  3785.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3786.         Macro
  3787.         _DeleteMovieFile
  3788.             move.w              #$0175,D0
  3789.             dc.w                $AAAA
  3790.         EndM
  3791.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3792.         IMPORT_CFM_FUNCTION DeleteMovieFile
  3793.     ENDIF
  3794.  
  3795. ;
  3796. ; pascal OSErr NewMovieFromFile(Movie *theMovie, short resRefNum, short *resId, StringPtr resName, short newMovieFlags, Boolean *dataRefWasChanged)
  3797. ;
  3798.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3799.         Macro
  3800.         _NewMovieFromFile
  3801.             move.w              #$00F0,D0
  3802.             dc.w                $AAAA
  3803.         EndM
  3804.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3805.         IMPORT_CFM_FUNCTION NewMovieFromFile
  3806.     ENDIF
  3807.  
  3808. ;
  3809. ; pascal OSErr NewMovieFromHandle(Movie *theMovie, Handle h, short newMovieFlags, Boolean *dataRefWasChanged)
  3810. ;
  3811.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3812.         Macro
  3813.         _NewMovieFromHandle
  3814.             move.w              #$00F1,D0
  3815.             dc.w                $AAAA
  3816.         EndM
  3817.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3818.         IMPORT_CFM_FUNCTION NewMovieFromHandle
  3819.     ENDIF
  3820.  
  3821. ;
  3822. ; pascal OSErr NewMovieFromDataFork(Movie *theMovie, short fRefNum, long fileOffset, short newMovieFlags, Boolean *dataRefWasChanged)
  3823. ;
  3824.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3825.         Macro
  3826.         _NewMovieFromDataFork
  3827.             move.w              #$01B3,D0
  3828.             dc.w                $AAAA
  3829.         EndM
  3830.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3831.         IMPORT_CFM_FUNCTION NewMovieFromDataFork
  3832.     ENDIF
  3833.  
  3834. ;
  3835. ; pascal OSErr NewMovieFromUserProc(Movie *m, short flags, Boolean *dataRefWasChanged, GetMovieUPP getProc, void *refCon, Handle defaultDataRef, OSType dataRefType)
  3836. ;
  3837.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3838.         Macro
  3839.         _NewMovieFromUserProc
  3840.             move.w              #$01EC,D0
  3841.             dc.w                $AAAA
  3842.         EndM
  3843.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3844.         IMPORT_CFM_FUNCTION NewMovieFromUserProc
  3845.     ENDIF
  3846.  
  3847. ;
  3848. ; pascal OSErr NewMovieFromDataRef(Movie *m, short flags, short *id, Handle dataRef, OSType dataRefType)
  3849. ;
  3850.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3851.         Macro
  3852.         _NewMovieFromDataRef
  3853.             move.w              #$0220,D0
  3854.             dc.w                $AAAA
  3855.         EndM
  3856.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3857.         IMPORT_CFM_FUNCTION NewMovieFromDataRef
  3858.     ENDIF
  3859.  
  3860. ;
  3861. ; pascal OSErr AddMovieResource(Movie theMovie, short resRefNum, short *resId, ConstStr255Param resName)
  3862. ;
  3863.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3864.         Macro
  3865.         _AddMovieResource
  3866.             move.w              #$00D7,D0
  3867.             dc.w                $AAAA
  3868.         EndM
  3869.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3870.         IMPORT_CFM_FUNCTION AddMovieResource
  3871.     ENDIF
  3872.  
  3873. ;
  3874. ; pascal OSErr UpdateMovieResource(Movie theMovie, short resRefNum, short resId, ConstStr255Param resName)
  3875. ;
  3876.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3877.         Macro
  3878.         _UpdateMovieResource
  3879.             move.w              #$00D8,D0
  3880.             dc.w                $AAAA
  3881.         EndM
  3882.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3883.         IMPORT_CFM_FUNCTION UpdateMovieResource
  3884.     ENDIF
  3885.  
  3886. ;
  3887. ; pascal OSErr RemoveMovieResource(short resRefNum, short resId)
  3888. ;
  3889.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3890.         Macro
  3891.         _RemoveMovieResource
  3892.             move.w              #$0176,D0
  3893.             dc.w                $AAAA
  3894.         EndM
  3895.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3896.         IMPORT_CFM_FUNCTION RemoveMovieResource
  3897.     ENDIF
  3898.  
  3899. ;
  3900. ; pascal Boolean HasMovieChanged(Movie theMovie)
  3901. ;
  3902.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3903.         Macro
  3904.         _HasMovieChanged
  3905.             move.w              #$00D9,D0
  3906.             dc.w                $AAAA
  3907.         EndM
  3908.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3909.         IMPORT_CFM_FUNCTION HasMovieChanged
  3910.     ENDIF
  3911.  
  3912. ;
  3913. ; pascal void ClearMovieChanged(Movie theMovie)
  3914. ;
  3915.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3916.         Macro
  3917.         _ClearMovieChanged
  3918.             move.w              #$0113,D0
  3919.             dc.w                $AAAA
  3920.         EndM
  3921.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3922.         IMPORT_CFM_FUNCTION ClearMovieChanged
  3923.     ENDIF
  3924.  
  3925. ;
  3926. ; pascal OSErr SetMovieDefaultDataRef(Movie theMovie, Handle dataRef, OSType dataRefType)
  3927. ;
  3928.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3929.         Macro
  3930.         _SetMovieDefaultDataRef
  3931.             move.w              #$01C1,D0
  3932.             dc.w                $AAAA
  3933.         EndM
  3934.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3935.         IMPORT_CFM_FUNCTION SetMovieDefaultDataRef
  3936.     ENDIF
  3937.  
  3938. ;
  3939. ; pascal OSErr GetMovieDefaultDataRef(Movie theMovie, Handle *dataRef, OSType *dataRefType)
  3940. ;
  3941.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3942.         Macro
  3943.         _GetMovieDefaultDataRef
  3944.             move.w              #$01D2,D0
  3945.             dc.w                $AAAA
  3946.         EndM
  3947.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3948.         IMPORT_CFM_FUNCTION GetMovieDefaultDataRef
  3949.     ENDIF
  3950.  
  3951. ;
  3952. ; pascal OSErr SetMovieColorTable(Movie theMovie, CTabHandle ctab)
  3953. ;
  3954.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3955.         Macro
  3956.         _SetMovieColorTable
  3957.             move.w              #$0205,D0
  3958.             dc.w                $AAAA
  3959.         EndM
  3960.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3961.         IMPORT_CFM_FUNCTION SetMovieColorTable
  3962.     ENDIF
  3963.  
  3964. ;
  3965. ; pascal OSErr GetMovieColorTable(Movie theMovie, CTabHandle *ctab)
  3966. ;
  3967.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3968.         Macro
  3969.         _GetMovieColorTable
  3970.             move.w              #$0206,D0
  3971.             dc.w                $AAAA
  3972.         EndM
  3973.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3974.         IMPORT_CFM_FUNCTION GetMovieColorTable
  3975.     ENDIF
  3976.  
  3977. ;
  3978. ; pascal void FlattenMovie(Movie theMovie, long movieFlattenFlags, const FSSpec *theFile, OSType creator, ScriptCode scriptTag, long createMovieFileFlags, short *resId, ConstStr255Param resName)
  3979. ;
  3980.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3981.         Macro
  3982.         _FlattenMovie
  3983.             move.w              #$019B,D0
  3984.             dc.w                $AAAA
  3985.         EndM
  3986.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3987.         IMPORT_CFM_FUNCTION FlattenMovie
  3988.     ENDIF
  3989.  
  3990. ;
  3991. ; pascal Movie FlattenMovieData(Movie theMovie, long movieFlattenFlags, const FSSpec *theFile, OSType creator, ScriptCode scriptTag, long createMovieFileFlags)
  3992. ;
  3993.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3994.         Macro
  3995.         _FlattenMovieData
  3996.             move.w              #$019C,D0
  3997.             dc.w                $AAAA
  3998.         EndM
  3999.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4000.         IMPORT_CFM_FUNCTION FlattenMovieData
  4001.     ENDIF
  4002.  
  4003. ;
  4004. ; pascal void SetMovieProgressProc(Movie theMovie, MovieProgressUPP p, long refcon)
  4005. ;
  4006.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4007.         Macro
  4008.         _SetMovieProgressProc
  4009.             move.w              #$019A,D0
  4010.             dc.w                $AAAA
  4011.         EndM
  4012.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4013.         IMPORT_CFM_FUNCTION SetMovieProgressProc
  4014.     ENDIF
  4015.  
  4016. ;
  4017. ; pascal OSErr MovieSearchText(Movie theMovie, Ptr text, long size, long searchFlags, Track *searchTrack, TimeValue *searchTime, long *searchOffset)
  4018. ;
  4019.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4020.         Macro
  4021.         _MovieSearchText
  4022.             move.w              #$0207,D0
  4023.             dc.w                $AAAA
  4024.         EndM
  4025.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4026.         IMPORT_CFM_FUNCTION MovieSearchText
  4027.     ENDIF
  4028.  
  4029. ;
  4030. ; pascal void GetPosterBox(Movie theMovie, Rect *boxRect)
  4031. ;
  4032.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4033.         Macro
  4034.         _GetPosterBox
  4035.             move.w              #$016F,D0
  4036.             dc.w                $AAAA
  4037.         EndM
  4038.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4039.         IMPORT_CFM_FUNCTION GetPosterBox
  4040.     ENDIF
  4041.  
  4042. ;
  4043. ; pascal void SetPosterBox(Movie theMovie, const Rect *boxRect)
  4044. ;
  4045.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4046.         Macro
  4047.         _SetPosterBox
  4048.             move.w              #$0170,D0
  4049.             dc.w                $AAAA
  4050.         EndM
  4051.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4052.         IMPORT_CFM_FUNCTION SetPosterBox
  4053.     ENDIF
  4054.  
  4055. ;
  4056. ; pascal RgnHandle GetMovieSegmentDisplayBoundsRgn(Movie theMovie, TimeValue time, TimeValue duration)
  4057. ;
  4058.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4059.         Macro
  4060.         _GetMovieSegmentDisplayBoundsRgn
  4061.             move.w              #$016C,D0
  4062.             dc.w                $AAAA
  4063.         EndM
  4064.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4065.         IMPORT_CFM_FUNCTION GetMovieSegmentDisplayBoundsRgn
  4066.     ENDIF
  4067.  
  4068. ;
  4069. ; pascal RgnHandle GetTrackSegmentDisplayBoundsRgn(Track theTrack, TimeValue time, TimeValue duration)
  4070. ;
  4071.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4072.         Macro
  4073.         _GetTrackSegmentDisplayBoundsRgn
  4074.             move.w              #$016B,D0
  4075.             dc.w                $AAAA
  4076.         EndM
  4077.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4078.         IMPORT_CFM_FUNCTION GetTrackSegmentDisplayBoundsRgn
  4079.     ENDIF
  4080.  
  4081. ;
  4082. ; pascal void SetMovieCoverProcs(Movie theMovie, MovieRgnCoverUPP uncoverProc, MovieRgnCoverUPP coverProc, long refcon)
  4083. ;
  4084.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4085.         Macro
  4086.         _SetMovieCoverProcs
  4087.             move.w              #$0179,D0
  4088.             dc.w                $AAAA
  4089.         EndM
  4090.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4091.         IMPORT_CFM_FUNCTION SetMovieCoverProcs
  4092.     ENDIF
  4093.  
  4094. ;
  4095. ; pascal OSErr GetMovieCoverProcs(Movie theMovie, MovieRgnCoverUPP *uncoverProc, MovieRgnCoverUPP *coverProc, long *refcon)
  4096. ;
  4097.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4098.         Macro
  4099.         _GetMovieCoverProcs
  4100.             move.w              #$01DD,D0
  4101.             dc.w                $AAAA
  4102.         EndM
  4103.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4104.         IMPORT_CFM_FUNCTION GetMovieCoverProcs
  4105.     ENDIF
  4106.  
  4107. ;
  4108. ; pascal ComponentResult GetTrackStatus(Track theTrack)
  4109. ;
  4110.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4111.         Macro
  4112.         _GetTrackStatus
  4113.             move.w              #$0172,D0
  4114.             dc.w                $AAAA
  4115.         EndM
  4116.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4117.         IMPORT_CFM_FUNCTION GetTrackStatus
  4118.     ENDIF
  4119.  
  4120. ;
  4121. ; pascal ComponentResult GetMovieStatus(Movie theMovie, Track *firstProblemTrack)
  4122. ;
  4123.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4124.         Macro
  4125.         _GetMovieStatus
  4126.             move.w              #$0173,D0
  4127.             dc.w                $AAAA
  4128.         EndM
  4129.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4130.         IMPORT_CFM_FUNCTION GetMovieStatus
  4131.     ENDIF
  4132.  
  4133. ; ***
  4134. ;    Movie Controller support routines
  4135. ;***
  4136.  
  4137. ;
  4138. ; pascal ComponentInstance NewMovieController(Movie theMovie, const Rect *movieRect, long someFlags)
  4139. ;
  4140.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4141.         Macro
  4142.         _NewMovieController
  4143.             move.w              #$018A,D0
  4144.             dc.w                $AAAA
  4145.         EndM
  4146.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4147.         IMPORT_CFM_FUNCTION NewMovieController
  4148.     ENDIF
  4149.  
  4150. ;
  4151. ; pascal void DisposeMovieController(ComponentInstance mc)
  4152. ;
  4153.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4154.         Macro
  4155.         _DisposeMovieController
  4156.             move.w              #$018B,D0
  4157.             dc.w                $AAAA
  4158.         EndM
  4159.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4160.         IMPORT_CFM_FUNCTION DisposeMovieController
  4161.     ENDIF
  4162.  
  4163. ;
  4164. ; pascal void ShowMovieInformation(Movie theMovie, ModalFilterUPP filterProc, long refCon)
  4165. ;
  4166.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4167.         Macro
  4168.         _ShowMovieInformation
  4169.             move.w              #$0209,D0
  4170.             dc.w                $AAAA
  4171.         EndM
  4172.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4173.         IMPORT_CFM_FUNCTION ShowMovieInformation
  4174.     ENDIF
  4175.  
  4176.  
  4177. ; *****
  4178. ;    Scrap routines
  4179. ;****
  4180.  
  4181. ;
  4182. ; pascal OSErr PutMovieOnScrap(Movie theMovie, long movieScrapFlags)
  4183. ;
  4184.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4185.         Macro
  4186.         _PutMovieOnScrap
  4187.             move.w              #$018C,D0
  4188.             dc.w                $AAAA
  4189.         EndM
  4190.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4191.         IMPORT_CFM_FUNCTION PutMovieOnScrap
  4192.     ENDIF
  4193.  
  4194. ;
  4195. ; pascal Movie NewMovieFromScrap(long newMovieFlags)
  4196. ;
  4197.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4198.         Macro
  4199.         _NewMovieFromScrap
  4200.             move.w              #$018D,D0
  4201.             dc.w                $AAAA
  4202.         EndM
  4203.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4204.         IMPORT_CFM_FUNCTION NewMovieFromScrap
  4205.     ENDIF
  4206.  
  4207.  
  4208. ; *****
  4209. ;    DataRef routines
  4210. ;****
  4211.  
  4212.  
  4213. ;
  4214. ; pascal OSErr GetMediaDataRef(Media theMedia, short index, Handle *dataRef, OSType *dataRefType, long *dataRefAttributes)
  4215. ;
  4216.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4217.         Macro
  4218.         _GetMediaDataRef
  4219.             move.w              #$0197,D0
  4220.             dc.w                $AAAA
  4221.         EndM
  4222.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4223.         IMPORT_CFM_FUNCTION GetMediaDataRef
  4224.     ENDIF
  4225.  
  4226. ;
  4227. ; pascal OSErr SetMediaDataRef(Media theMedia, short index, Handle dataRef, OSType dataRefType)
  4228. ;
  4229.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4230.         Macro
  4231.         _SetMediaDataRef
  4232.             move.w              #$01C9,D0
  4233.             dc.w                $AAAA
  4234.         EndM
  4235.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4236.         IMPORT_CFM_FUNCTION SetMediaDataRef
  4237.     ENDIF
  4238.  
  4239. ;
  4240. ; pascal OSErr SetMediaDataRefAttributes(Media theMedia, short index, long dataRefAttributes)
  4241. ;
  4242.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4243.         Macro
  4244.         _SetMediaDataRefAttributes
  4245.             move.w              #$01CA,D0
  4246.             dc.w                $AAAA
  4247.         EndM
  4248.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4249.         IMPORT_CFM_FUNCTION SetMediaDataRefAttributes
  4250.     ENDIF
  4251.  
  4252. ;
  4253. ; pascal OSErr AddMediaDataRef(Media theMedia, short *index, Handle dataRef, OSType dataRefType)
  4254. ;
  4255.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4256.         Macro
  4257.         _AddMediaDataRef
  4258.             move.w              #$0198,D0
  4259.             dc.w                $AAAA
  4260.         EndM
  4261.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4262.         IMPORT_CFM_FUNCTION AddMediaDataRef
  4263.     ENDIF
  4264.  
  4265. ;
  4266. ; pascal OSErr GetMediaDataRefCount(Media theMedia, short *count)
  4267. ;
  4268.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4269.         Macro
  4270.         _GetMediaDataRefCount
  4271.             move.w              #$0199,D0
  4272.             dc.w                $AAAA
  4273.         EndM
  4274.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4275.         IMPORT_CFM_FUNCTION GetMediaDataRefCount
  4276.     ENDIF
  4277.  
  4278. ;
  4279. ; pascal OSErr QTNewAlias(const FSSpec *fss, AliasHandle *alias, Boolean minimal)
  4280. ;
  4281.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4282.         Macro
  4283.         _QTNewAlias
  4284.             move.w              #$0201,D0
  4285.             dc.w                $AAAA
  4286.         EndM
  4287.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4288.         IMPORT_CFM_FUNCTION QTNewAlias
  4289.     ENDIF
  4290.  
  4291. ; *****
  4292. ;    Playback hint routines
  4293. ;****
  4294.  
  4295. ;
  4296. ; pascal void SetMoviePlayHints(Movie theMovie, long flags, long flagsMask)
  4297. ;
  4298.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4299.         Macro
  4300.         _SetMoviePlayHints
  4301.             move.w              #$01A1,D0
  4302.             dc.w                $AAAA
  4303.         EndM
  4304.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4305.         IMPORT_CFM_FUNCTION SetMoviePlayHints
  4306.     ENDIF
  4307.  
  4308. ;
  4309. ; pascal void SetMediaPlayHints(Media theMedia, long flags, long flagsMask)
  4310. ;
  4311.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4312.         Macro
  4313.         _SetMediaPlayHints
  4314.             move.w              #$01A2,D0
  4315.             dc.w                $AAAA
  4316.         EndM
  4317.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4318.         IMPORT_CFM_FUNCTION SetMediaPlayHints
  4319.     ENDIF
  4320.  
  4321. ;
  4322. ; pascal void GetMediaPlayHints(Media theMedia, long *flags)
  4323. ;
  4324.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4325.         Macro
  4326.         _GetMediaPlayHints
  4327.             move.w              #$02CE,D0
  4328.             dc.w                $AAAA
  4329.         EndM
  4330.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4331.         IMPORT_CFM_FUNCTION GetMediaPlayHints
  4332.     ENDIF
  4333.  
  4334. ; *****
  4335. ;    Load time track hints
  4336. ;****
  4337.  
  4338.  
  4339. preloadAlways                    EQU        $00000001
  4340. preloadOnlyIfEnabled            EQU        $00000002
  4341. ;
  4342. ; pascal void SetTrackLoadSettings(Track theTrack, TimeValue preloadTime, TimeValue preloadDuration, long preloadFlags, long defaultHints)
  4343. ;
  4344.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4345.         Macro
  4346.         _SetTrackLoadSettings
  4347.             move.w              #$01E3,D0
  4348.             dc.w                $AAAA
  4349.         EndM
  4350.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4351.         IMPORT_CFM_FUNCTION SetTrackLoadSettings
  4352.     ENDIF
  4353.  
  4354. ;
  4355. ; pascal void GetTrackLoadSettings(Track theTrack, TimeValue *preloadTime, TimeValue *preloadDuration, long *preloadFlags, long *defaultHints)
  4356. ;
  4357.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4358.         Macro
  4359.         _GetTrackLoadSettings
  4360.             move.w              #$01E4,D0
  4361.             dc.w                $AAAA
  4362.         EndM
  4363.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4364.         IMPORT_CFM_FUNCTION GetTrackLoadSettings
  4365.     ENDIF
  4366.  
  4367. ; *****
  4368. ;    Big screen TV
  4369. ;****
  4370.  
  4371.  
  4372. fullScreenHideCursor            EQU        $00000001
  4373. fullScreenAllowEvents            EQU        $00000002
  4374. fullScreenDontChangeMenuBar        EQU        $00000004
  4375. fullScreenPreflightSize            EQU        $00000008
  4376. ;
  4377. ; pascal OSErr BeginFullScreen(Ptr *restoreState, GDHandle whichGD, short *desiredWidth, short *desiredHeight, WindowPtr *newWindow, RGBColor *eraseColor, long flags)
  4378. ;
  4379.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4380.         Macro
  4381.         _BeginFullScreen
  4382.             move.w              #$0233,D0
  4383.             dc.w                $AAAA
  4384.         EndM
  4385.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4386.         IMPORT_CFM_FUNCTION BeginFullScreen
  4387.     ENDIF
  4388.  
  4389. ;
  4390. ; pascal OSErr EndFullScreen(Ptr fullState, long flags)
  4391. ;
  4392.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4393.         Macro
  4394.         _EndFullScreen
  4395.             move.w              #$0234,D0
  4396.             dc.w                $AAAA
  4397.         EndM
  4398.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4399.         IMPORT_CFM_FUNCTION EndFullScreen
  4400.     ENDIF
  4401.  
  4402. ; *****
  4403. ;    Sprite Toolbox
  4404. ;****
  4405.  
  4406.  
  4407. kBackgroundSpriteLayerNum        EQU        32767
  4408. ;   Sprite Properties
  4409.  
  4410. kSpritePropertyMatrix            EQU        1
  4411. kSpritePropertyImageDescription    EQU        2
  4412. kSpritePropertyImageDataPtr        EQU        3
  4413. kSpritePropertyVisible            EQU        4
  4414. kSpritePropertyLayer            EQU        5
  4415. kSpritePropertyGraphicsMode        EQU        6
  4416. kSpritePropertyImageDataSize    EQU        7
  4417. kSpritePropertyImageIndex        EQU        100
  4418. kSpriteTrackPropertyBackgroundColor EQU    101
  4419. kSpriteTrackPropertyOffscreenBitDepth EQU 102
  4420. kSpriteTrackPropertySampleFormat EQU    103
  4421. kSpriteTrackPropertyScaleSpritesToScaleWorld EQU 104
  4422. kSpriteTrackPropertyHasActions    EQU        105
  4423. kSpriteTrackPropertyVisible        EQU        106
  4424. kSpriteTrackPropertyQTIdleEventsFrequency EQU 107
  4425. kSpriteImagePropertyRegistrationPoint EQU 1000
  4426. kSpriteImagePropertyGroupID        EQU        1001
  4427. ;  special value for kSpriteTrackPropertyQTIdleEventsFrequency (the default)
  4428.  
  4429. kNoQTIdleEvents                    EQU        -1
  4430. ;  flagsIn for SpriteWorldIdle
  4431.  
  4432. kOnlyDrawToSpriteWorld            EQU        $00000001
  4433. kSpriteWorldPreflight            EQU        $00000002
  4434. ;  flagsOut for SpriteWorldIdle
  4435.  
  4436. kSpriteWorldDidDraw                EQU        $00000001
  4437. kSpriteWorldNeedsToDraw            EQU        $00000002
  4438. ;  flags for sprite track sample format
  4439.  
  4440. kKeyFrameAndSingleOverride        EQU        $00000002
  4441. kKeyFrameAndAllOverrides        EQU        $00000004
  4442. ;  sprite world flags
  4443.  
  4444. kScaleSpritesToScaleWorld        EQU        $00000002
  4445. kSpriteWorldHighQuality            EQU        $00000004
  4446. kSpriteWorldDontAutoInvalidate    EQU        $00000008
  4447. kSpriteWorldInvisible            EQU        $00000010
  4448. ;
  4449. ; pascal OSErr NewSpriteWorld(SpriteWorld *newSpriteWorld, GWorldPtr destination, GWorldPtr spriteLayer, RGBColor *backgroundColor, GWorldPtr background)
  4450. ;
  4451.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4452.         Macro
  4453.         _NewSpriteWorld
  4454.             move.w              #$0239,D0
  4455.             dc.w                $AAAA
  4456.         EndM
  4457.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4458.         IMPORT_CFM_FUNCTION NewSpriteWorld
  4459.     ENDIF
  4460.  
  4461. ;
  4462. ; pascal void DisposeSpriteWorld(SpriteWorld theSpriteWorld)
  4463. ;
  4464.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4465.         Macro
  4466.         _DisposeSpriteWorld
  4467.             move.w              #$023A,D0
  4468.             dc.w                $AAAA
  4469.         EndM
  4470.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4471.         IMPORT_CFM_FUNCTION DisposeSpriteWorld
  4472.     ENDIF
  4473.  
  4474. ;
  4475. ; pascal OSErr SetSpriteWorldClip(SpriteWorld theSpriteWorld, RgnHandle clipRgn)
  4476. ;
  4477.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4478.         Macro
  4479.         _SetSpriteWorldClip
  4480.             move.w              #$023B,D0
  4481.             dc.w                $AAAA
  4482.         EndM
  4483.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4484.         IMPORT_CFM_FUNCTION SetSpriteWorldClip
  4485.     ENDIF
  4486.  
  4487. ;
  4488. ; pascal OSErr SetSpriteWorldMatrix(SpriteWorld theSpriteWorld, const MatrixRecord *matrix)
  4489. ;
  4490.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4491.         Macro
  4492.         _SetSpriteWorldMatrix
  4493.             move.w              #$023C,D0
  4494.             dc.w                $AAAA
  4495.         EndM
  4496.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4497.         IMPORT_CFM_FUNCTION SetSpriteWorldMatrix
  4498.     ENDIF
  4499.  
  4500. ;
  4501. ; pascal OSErr SetSpriteWorldGraphicsMode(SpriteWorld theSpriteWorld, long mode, const RGBColor *opColor)
  4502. ;
  4503.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4504.         Macro
  4505.         _SetSpriteWorldGraphicsMode
  4506.             move.w              #$02D9,D0
  4507.             dc.w                $AAAA
  4508.         EndM
  4509.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4510.         IMPORT_CFM_FUNCTION SetSpriteWorldGraphicsMode
  4511.     ENDIF
  4512.  
  4513. ;
  4514. ; pascal OSErr SpriteWorldIdle(SpriteWorld theSpriteWorld, long flagsIn, long *flagsOut)
  4515. ;
  4516.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4517.         Macro
  4518.         _SpriteWorldIdle
  4519.             move.w              #$023D,D0
  4520.             dc.w                $AAAA
  4521.         EndM
  4522.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4523.         IMPORT_CFM_FUNCTION SpriteWorldIdle
  4524.     ENDIF
  4525.  
  4526. ;
  4527. ; pascal OSErr InvalidateSpriteWorld(SpriteWorld theSpriteWorld, Rect *invalidArea)
  4528. ;
  4529.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4530.         Macro
  4531.         _InvalidateSpriteWorld
  4532.             move.w              #$023E,D0
  4533.             dc.w                $AAAA
  4534.         EndM
  4535.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4536.         IMPORT_CFM_FUNCTION InvalidateSpriteWorld
  4537.     ENDIF
  4538.  
  4539. ;
  4540. ; pascal OSErr SpriteWorldHitTest(SpriteWorld theSpriteWorld, long flags, Point loc, Sprite *spriteHit)
  4541. ;
  4542.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4543.         Macro
  4544.         _SpriteWorldHitTest
  4545.             move.w              #$0246,D0
  4546.             dc.w                $AAAA
  4547.         EndM
  4548.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4549.         IMPORT_CFM_FUNCTION SpriteWorldHitTest
  4550.     ENDIF
  4551.  
  4552. ;
  4553. ; pascal OSErr SpriteHitTest(Sprite theSprite, long flags, Point loc, Boolean *wasHit)
  4554. ;
  4555.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4556.         Macro
  4557.         _SpriteHitTest
  4558.             move.w              #$0247,D0
  4559.             dc.w                $AAAA
  4560.         EndM
  4561.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4562.         IMPORT_CFM_FUNCTION SpriteHitTest
  4563.     ENDIF
  4564.  
  4565. ;
  4566. ; pascal void DisposeAllSprites(SpriteWorld theSpriteWorld)
  4567. ;
  4568.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4569.         Macro
  4570.         _DisposeAllSprites
  4571.             move.w              #$023F,D0
  4572.             dc.w                $AAAA
  4573.         EndM
  4574.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4575.         IMPORT_CFM_FUNCTION DisposeAllSprites
  4576.     ENDIF
  4577.  
  4578. ;
  4579. ; pascal OSErr SetSpriteWorldFlags(SpriteWorld spriteWorld, long flags, long flagsMask)
  4580. ;
  4581.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4582.         Macro
  4583.         _SetSpriteWorldFlags
  4584.             move.w              #$02C2,D0
  4585.             dc.w                $AAAA
  4586.         EndM
  4587.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4588.         IMPORT_CFM_FUNCTION SetSpriteWorldFlags
  4589.     ENDIF
  4590.  
  4591. ;
  4592. ; pascal OSErr NewSprite(Sprite *newSprite, SpriteWorld itsSpriteWorld, ImageDescriptionHandle idh, Ptr imageDataPtr, MatrixRecord *matrix, Boolean visible, short layer)
  4593. ;
  4594.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4595.         Macro
  4596.         _NewSprite
  4597.             move.w              #$0240,D0
  4598.             dc.w                $AAAA
  4599.         EndM
  4600.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4601.         IMPORT_CFM_FUNCTION NewSprite
  4602.     ENDIF
  4603.  
  4604. ;
  4605. ; pascal void DisposeSprite(Sprite theSprite)
  4606. ;
  4607.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4608.         Macro
  4609.         _DisposeSprite
  4610.             move.w              #$0241,D0
  4611.             dc.w                $AAAA
  4612.         EndM
  4613.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4614.         IMPORT_CFM_FUNCTION DisposeSprite
  4615.     ENDIF
  4616.  
  4617. ;
  4618. ; pascal void InvalidateSprite(Sprite theSprite)
  4619. ;
  4620.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4621.         Macro
  4622.         _InvalidateSprite
  4623.             move.w              #$0242,D0
  4624.             dc.w                $AAAA
  4625.         EndM
  4626.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4627.         IMPORT_CFM_FUNCTION InvalidateSprite
  4628.     ENDIF
  4629.  
  4630. ;
  4631. ; pascal OSErr SetSpriteProperty(Sprite theSprite, long propertyType, void *propertyValue)
  4632. ;
  4633.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4634.         Macro
  4635.         _SetSpriteProperty
  4636.             move.w              #$0243,D0
  4637.             dc.w                $AAAA
  4638.         EndM
  4639.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4640.         IMPORT_CFM_FUNCTION SetSpriteProperty
  4641.     ENDIF
  4642.  
  4643. ;
  4644. ; pascal OSErr GetSpriteProperty(Sprite theSprite, long propertyType, void *propertyValue)
  4645. ;
  4646.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4647.         Macro
  4648.         _GetSpriteProperty
  4649.             move.w              #$0244,D0
  4650.             dc.w                $AAAA
  4651.         EndM
  4652.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4653.         IMPORT_CFM_FUNCTION GetSpriteProperty
  4654.     ENDIF
  4655.  
  4656. ; *****
  4657. ;    QT Atom Data Support
  4658. ;****
  4659.  
  4660.  
  4661. kParentAtomIsContainer            EQU        0
  4662. ;  create and dispose QTAtomContainer objects
  4663.  
  4664. ;
  4665. ; pascal OSErr QTNewAtomContainer(QTAtomContainer *atomData)
  4666. ;
  4667.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4668.         Macro
  4669.         _QTNewAtomContainer
  4670.             move.w              #$020C,D0
  4671.             dc.w                $AAAA
  4672.         EndM
  4673.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4674.         IMPORT_CFM_FUNCTION QTNewAtomContainer
  4675.     ENDIF
  4676.  
  4677. ;
  4678. ; pascal OSErr QTDisposeAtomContainer(QTAtomContainer atomData)
  4679. ;
  4680.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4681.         Macro
  4682.         _QTDisposeAtomContainer
  4683.             move.w              #$020D,D0
  4684.             dc.w                $AAAA
  4685.         EndM
  4686.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4687.         IMPORT_CFM_FUNCTION QTDisposeAtomContainer
  4688.     ENDIF
  4689.  
  4690. ;  locating nested atoms within QTAtomContainer container
  4691. ;
  4692. ; pascal QTAtomType QTGetNextChildType(QTAtomContainer container, QTAtom parentAtom, QTAtomType currentChildType)
  4693. ;
  4694.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4695.         Macro
  4696.         _QTGetNextChildType
  4697.             move.w              #$020E,D0
  4698.             dc.w                $AAAA
  4699.         EndM
  4700.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4701.         IMPORT_CFM_FUNCTION QTGetNextChildType
  4702.     ENDIF
  4703.  
  4704. ;
  4705. ; pascal short QTCountChildrenOfType(QTAtomContainer container, QTAtom parentAtom, QTAtomType childType)
  4706. ;
  4707.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4708.         Macro
  4709.         _QTCountChildrenOfType
  4710.             move.w              #$020F,D0
  4711.             dc.w                $AAAA
  4712.         EndM
  4713.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4714.         IMPORT_CFM_FUNCTION QTCountChildrenOfType
  4715.     ENDIF
  4716.  
  4717. ;
  4718. ; pascal QTAtom QTFindChildByIndex(QTAtomContainer container, QTAtom parentAtom, QTAtomType atomType, short index, QTAtomID *id)
  4719. ;
  4720.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4721.         Macro
  4722.         _QTFindChildByIndex
  4723.             move.w              #$0210,D0
  4724.             dc.w                $AAAA
  4725.         EndM
  4726.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4727.         IMPORT_CFM_FUNCTION QTFindChildByIndex
  4728.     ENDIF
  4729.  
  4730. ;
  4731. ; pascal QTAtom QTFindChildByID(QTAtomContainer container, QTAtom parentAtom, QTAtomType atomType, QTAtomID id, short *index)
  4732. ;
  4733.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4734.         Macro
  4735.         _QTFindChildByID
  4736.             move.w              #$021D,D0
  4737.             dc.w                $AAAA
  4738.         EndM
  4739.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4740.         IMPORT_CFM_FUNCTION QTFindChildByID
  4741.     ENDIF
  4742.  
  4743. ;
  4744. ; pascal OSErr QTNextChildAnyType(QTAtomContainer container, QTAtom parentAtom, QTAtom currentChild, QTAtom *nextChild)
  4745. ;
  4746.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4747.         Macro
  4748.         _QTNextChildAnyType
  4749.             move.w              #$0200,D0
  4750.             dc.w                $AAAA
  4751.         EndM
  4752.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4753.         IMPORT_CFM_FUNCTION QTNextChildAnyType
  4754.     ENDIF
  4755.  
  4756. ;  set a leaf atom's data
  4757. ;
  4758. ; pascal OSErr QTSetAtomData(QTAtomContainer container, QTAtom atom, long dataSize, void *atomData)
  4759. ;
  4760.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4761.         Macro
  4762.         _QTSetAtomData
  4763.             move.w              #$0211,D0
  4764.             dc.w                $AAAA
  4765.         EndM
  4766.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4767.         IMPORT_CFM_FUNCTION QTSetAtomData
  4768.     ENDIF
  4769.  
  4770. ;  extracting data
  4771. ;
  4772. ; pascal OSErr QTCopyAtomDataToHandle(QTAtomContainer container, QTAtom atom, Handle targetHandle)
  4773. ;
  4774.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4775.         Macro
  4776.         _QTCopyAtomDataToHandle
  4777.             move.w              #$0212,D0
  4778.             dc.w                $AAAA
  4779.         EndM
  4780.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4781.         IMPORT_CFM_FUNCTION QTCopyAtomDataToHandle
  4782.     ENDIF
  4783.  
  4784. ;
  4785. ; pascal OSErr QTCopyAtomDataToPtr(QTAtomContainer container, QTAtom atom, Boolean sizeOrLessOK, long size, void *targetPtr, long *actualSize)
  4786. ;
  4787.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4788.         Macro
  4789.         _QTCopyAtomDataToPtr
  4790.             move.w              #$0213,D0
  4791.             dc.w                $AAAA
  4792.         EndM
  4793.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4794.         IMPORT_CFM_FUNCTION QTCopyAtomDataToPtr
  4795.     ENDIF
  4796.  
  4797. ;
  4798. ; pascal OSErr QTGetAtomTypeAndID(QTAtomContainer container, QTAtom atom, QTAtomType *atomType, QTAtomID *id)
  4799. ;
  4800.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4801.         Macro
  4802.         _QTGetAtomTypeAndID
  4803.             move.w              #$0232,D0
  4804.             dc.w                $AAAA
  4805.         EndM
  4806.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4807.         IMPORT_CFM_FUNCTION QTGetAtomTypeAndID
  4808.     ENDIF
  4809.  
  4810. ;  extract a copy of an atom and all of it's children, caller disposes
  4811. ;
  4812. ; pascal OSErr QTCopyAtom(QTAtomContainer container, QTAtom atom, QTAtomContainer *targetContainer)
  4813. ;
  4814.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4815.         Macro
  4816.         _QTCopyAtom
  4817.             move.w              #$0214,D0
  4818.             dc.w                $AAAA
  4819.         EndM
  4820.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4821.         IMPORT_CFM_FUNCTION QTCopyAtom
  4822.     ENDIF
  4823.  
  4824. ;  obtaining direct reference to atom data
  4825. ;
  4826. ; pascal OSErr QTLockContainer(QTAtomContainer container)
  4827. ;
  4828.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4829.         Macro
  4830.         _QTLockContainer
  4831.             move.w              #$0215,D0
  4832.             dc.w                $AAAA
  4833.         EndM
  4834.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4835.         IMPORT_CFM_FUNCTION QTLockContainer
  4836.     ENDIF
  4837.  
  4838. ;
  4839. ; pascal OSErr QTGetAtomDataPtr(QTAtomContainer container, QTAtom atom, long *dataSize, Ptr *atomData)
  4840. ;
  4841.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4842.         Macro
  4843.         _QTGetAtomDataPtr
  4844.             move.w              #$0216,D0
  4845.             dc.w                $AAAA
  4846.         EndM
  4847.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4848.         IMPORT_CFM_FUNCTION QTGetAtomDataPtr
  4849.     ENDIF
  4850.  
  4851. ;
  4852. ; pascal OSErr QTUnlockContainer(QTAtomContainer container)
  4853. ;
  4854.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4855.         Macro
  4856.         _QTUnlockContainer
  4857.             move.w              #$0217,D0
  4858.             dc.w                $AAAA
  4859.         EndM
  4860.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4861.         IMPORT_CFM_FUNCTION QTUnlockContainer
  4862.     ENDIF
  4863.  
  4864.  
  4865. ;   building QTAtomContainer trees
  4866. ;   creates and inserts new atom at specified index, existing atoms at or after index are moved toward end of list
  4867. ;   used for Top-Down tree creation
  4868.  
  4869.  
  4870. ;
  4871. ; pascal OSErr QTInsertChild(QTAtomContainer container, QTAtom parentAtom, QTAtomType atomType, QTAtomID id, short index, long dataSize, void *data, QTAtom *newAtom)
  4872. ;
  4873.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4874.         Macro
  4875.         _QTInsertChild
  4876.             move.w              #$0218,D0
  4877.             dc.w                $AAAA
  4878.         EndM
  4879.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4880.         IMPORT_CFM_FUNCTION QTInsertChild
  4881.     ENDIF
  4882.  
  4883. ;  inserts children from childrenContainer as children of parentAtom
  4884. ;
  4885. ; pascal OSErr QTInsertChildren(QTAtomContainer container, QTAtom parentAtom, QTAtomContainer childrenContainer)
  4886. ;
  4887.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4888.         Macro
  4889.         _QTInsertChildren
  4890.             move.w              #$0219,D0
  4891.             dc.w                $AAAA
  4892.         EndM
  4893.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4894.         IMPORT_CFM_FUNCTION QTInsertChildren
  4895.     ENDIF
  4896.  
  4897. ;  destruction
  4898. ;
  4899. ; pascal OSErr QTRemoveAtom(QTAtomContainer container, QTAtom atom)
  4900. ;
  4901.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4902.         Macro
  4903.         _QTRemoveAtom
  4904.             move.w              #$021A,D0
  4905.             dc.w                $AAAA
  4906.         EndM
  4907.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4908.         IMPORT_CFM_FUNCTION QTRemoveAtom
  4909.     ENDIF
  4910.  
  4911. ;
  4912. ; pascal OSErr QTRemoveChildren(QTAtomContainer container, QTAtom atom)
  4913. ;
  4914.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4915.         Macro
  4916.         _QTRemoveChildren
  4917.             move.w              #$021B,D0
  4918.             dc.w                $AAAA
  4919.         EndM
  4920.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4921.         IMPORT_CFM_FUNCTION QTRemoveChildren
  4922.     ENDIF
  4923.  
  4924. ;  replacement must be same type as target
  4925. ;
  4926. ; pascal OSErr QTReplaceAtom(QTAtomContainer targetContainer, QTAtom targetAtom, QTAtomContainer replacementContainer, QTAtom replacementAtom)
  4927. ;
  4928.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4929.         Macro
  4930.         _QTReplaceAtom
  4931.             move.w              #$021C,D0
  4932.             dc.w                $AAAA
  4933.         EndM
  4934.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4935.         IMPORT_CFM_FUNCTION QTReplaceAtom
  4936.     ENDIF
  4937.  
  4938. ;
  4939. ; pascal OSErr QTSwapAtoms(QTAtomContainer container, QTAtom atom1, QTAtom atom2)
  4940. ;
  4941.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4942.         Macro
  4943.         _QTSwapAtoms
  4944.             move.w              #$01FF,D0
  4945.             dc.w                $AAAA
  4946.         EndM
  4947.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4948.         IMPORT_CFM_FUNCTION QTSwapAtoms
  4949.     ENDIF
  4950.  
  4951. ;
  4952. ; pascal OSErr QTSetAtomID(QTAtomContainer container, QTAtom atom, QTAtomID newID)
  4953. ;
  4954.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4955.         Macro
  4956.         _QTSetAtomID
  4957.             move.w              #$0231,D0
  4958.             dc.w                $AAAA
  4959.         EndM
  4960.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4961.         IMPORT_CFM_FUNCTION QTSetAtomID
  4962.     ENDIF
  4963.  
  4964. ;
  4965. ; pascal OSErr SetMediaPropertyAtom(Media theMedia, QTAtomContainer propertyAtom)
  4966. ;
  4967.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4968.         Macro
  4969.         _SetMediaPropertyAtom
  4970.             move.w              #$022E,D0
  4971.             dc.w                $AAAA
  4972.         EndM
  4973.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4974.         IMPORT_CFM_FUNCTION SetMediaPropertyAtom
  4975.     ENDIF
  4976.  
  4977. ;
  4978. ; pascal OSErr GetMediaPropertyAtom(Media theMedia, QTAtomContainer *propertyAtom)
  4979. ;
  4980.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4981.         Macro
  4982.         _GetMediaPropertyAtom
  4983.             move.w              #$022F,D0
  4984.             dc.w                $AAAA
  4985.         EndM
  4986.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4987.         IMPORT_CFM_FUNCTION GetMediaPropertyAtom
  4988.     ENDIF
  4989.  
  4990. ; *****
  4991. ;    Tween Support
  4992. ;****
  4993.  
  4994. ;
  4995. ; pascal OSErr QTNewTween(QTTweener *tween, QTAtomContainer container, QTAtom tweenAtom, TimeValue maxTime)
  4996. ;
  4997.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4998.         Macro
  4999.         _QTNewTween
  5000.             move.w              #$029D,D0
  5001.             dc.w                $AAAA
  5002.         EndM
  5003.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5004.         IMPORT_CFM_FUNCTION QTNewTween
  5005.     ENDIF
  5006.  
  5007. ;
  5008. ; pascal OSErr QTDisposeTween(QTTweener tween)
  5009. ;
  5010.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5011.         Macro
  5012.         _QTDisposeTween
  5013.             move.w              #$029F,D0
  5014.             dc.w                $AAAA
  5015.         EndM
  5016.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5017.         IMPORT_CFM_FUNCTION QTDisposeTween
  5018.     ENDIF
  5019.  
  5020. ;
  5021. ; pascal OSErr QTDoTween(QTTweener tween, TimeValue atTime, Handle result, long *resultSize, void *tweenDataProc, void *tweenDataRefCon)
  5022. ;
  5023.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5024.         Macro
  5025.         _QTDoTween
  5026.             move.w              #$029E,D0
  5027.             dc.w                $AAAA
  5028.         EndM
  5029.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5030.         IMPORT_CFM_FUNCTION QTDoTween
  5031.     ENDIF
  5032.  
  5033. ; *****
  5034. ;    Sound Description Manipulations
  5035. ;****
  5036.  
  5037. ;
  5038. ; pascal OSErr AddSoundDescriptionExtension(SoundDescriptionHandle desc, Handle extension, OSType idType)
  5039. ;
  5040.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5041.         Macro
  5042.         _AddSoundDescriptionExtension
  5043.             move.w              #$02CF,D0
  5044.             dc.w                $AAAA
  5045.         EndM
  5046.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5047.         IMPORT_CFM_FUNCTION AddSoundDescriptionExtension
  5048.     ENDIF
  5049.  
  5050. ;
  5051. ; pascal OSErr GetSoundDescriptionExtension(SoundDescriptionHandle desc, Handle *extension, OSType idType)
  5052. ;
  5053.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5054.         Macro
  5055.         _GetSoundDescriptionExtension
  5056.             move.w              #$02D0,D0
  5057.             dc.w                $AAAA
  5058.         EndM
  5059.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5060.         IMPORT_CFM_FUNCTION GetSoundDescriptionExtension
  5061.     ENDIF
  5062.  
  5063. ;
  5064. ; pascal OSErr RemoveSoundDescriptionExtension(SoundDescriptionHandle desc, OSType idType)
  5065. ;
  5066.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5067.         Macro
  5068.         _RemoveSoundDescriptionExtension
  5069.             move.w              #$02D1,D0
  5070.             dc.w                $AAAA
  5071.         EndM
  5072.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5073.         IMPORT_CFM_FUNCTION RemoveSoundDescriptionExtension
  5074.     ENDIF
  5075.  
  5076. ; *****
  5077. ;    Preferences
  5078. ;****
  5079.  
  5080. ;
  5081. ; pascal OSErr GetQuickTimePreference(OSType preferenceType, QTAtomContainer *preferenceAtom)
  5082. ;
  5083.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5084.         Macro
  5085.         _GetQuickTimePreference
  5086.             move.w              #$02D4,D0
  5087.             dc.w                $AAAA
  5088.         EndM
  5089.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5090.         IMPORT_CFM_FUNCTION GetQuickTimePreference
  5091.     ENDIF
  5092.  
  5093. ;
  5094. ; pascal OSErr SetQuickTimePreference(OSType preferenceType, QTAtomContainer preferenceAtom)
  5095. ;
  5096.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5097.         Macro
  5098.         _SetQuickTimePreference
  5099.             move.w              #$02D5,D0
  5100.             dc.w                $AAAA
  5101.         EndM
  5102.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5103.         IMPORT_CFM_FUNCTION SetQuickTimePreference
  5104.     ENDIF
  5105.  
  5106. ; *****
  5107. ;    Effects and dialog Support
  5108. ;****
  5109.  
  5110. ;  atom types for entries in the effects list
  5111.  
  5112. kEffectNameAtom                    EQU        'name'                ; name of effect 
  5113. kEffectTypeAtom                    EQU        'type'                ; codec sub-type for effect 
  5114. QTParamPreviewRecord    RECORD 0
  5115. sourceID                 ds.l    1                ; offset: $0 (0)        ;  1 based source identifier
  5116. sourcePicture             ds.l    1                ; offset: $4 (4)        ;  picture for preview, must not dispose until dialog is disposed
  5117. sizeof                     EQU *                    ; size:   $8 (8)
  5118.                         ENDR
  5119. ; typedef struct QTParamPreviewRecord *    QTParamPreviewPtr
  5120.  
  5121.  
  5122. pdActionConfirmDialog            EQU        1                    ; no param
  5123. pdActionSetAppleMenu            EQU        2                    ; param is MenuHandle
  5124. pdActionSetEditMenu                EQU        3                    ; param is MenuHandle
  5125. pdActionGetDialogValues            EQU        4                    ; param is QTAtomContainer
  5126. pdActionSetPreviewUserItem        EQU        5                    ; param is long
  5127. pdActionSetPreviewPicture        EQU        6                    ; param is QTParamPreviewPtr;
  5128. pdActionSetColorPickerEventProc    EQU        7                    ; param is UserEventUPP
  5129. pdActionSetDialogTitle            EQU        8                    ; param is StringPtr 
  5130. pdActionGetSubPanelMenu            EQU        9                    ; param is MenuHandle* 
  5131. pdActionActivateSubPanel        EQU        10                    ; param is long 
  5132. pdActionConductStopAlert        EQU        11                    ; param is StringPtr 
  5133. ; typedef long                             QTParameterDialog
  5134.  
  5135.  
  5136. elOptionsIncludeNoneInList        EQU        $00000001            ; "None" effect is included in list 
  5137. ; typedef long                             QTEffectListOptions
  5138.  
  5139.  
  5140. pdOptionsCollectOneValue        EQU        $00000001            ; should collect a single value only
  5141. pdOptionsAllowOptionalInterpolations EQU $00000002            ; non-novice interpolation options are shown 
  5142. pdOptionsModalDialogBox            EQU        $00000004            ; dialog box should be modal 
  5143. ; typedef long                             QTParameterDialogOptions
  5144.  
  5145.  
  5146. effectIsRealtime                EQU        0                    ; effect can be rendered in real time 
  5147. ;
  5148. ; pascal OSErr QTGetEffectsList(QTAtomContainer *returnedList, long minSources, long maxSources, QTEffectListOptions getOptions)
  5149. ;
  5150.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5151.         Macro
  5152.         _QTGetEffectsList
  5153.             move.w              #$02C9,D0
  5154.             dc.w                $AAAA
  5155.         EndM
  5156.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5157.         IMPORT_CFM_FUNCTION QTGetEffectsList
  5158.     ENDIF
  5159.  
  5160. ;
  5161. ; pascal OSErr QTCreateStandardParameterDialog(QTAtomContainer effectList, QTAtomContainer parameters, QTParameterDialogOptions dialogOptions, QTParameterDialog *createdDialog)
  5162. ;
  5163.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5164.         Macro
  5165.         _QTCreateStandardParameterDialog
  5166.             move.w              #$02CA,D0
  5167.             dc.w                $AAAA
  5168.         EndM
  5169.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5170.         IMPORT_CFM_FUNCTION QTCreateStandardParameterDialog
  5171.     ENDIF
  5172.  
  5173. ;
  5174. ; pascal OSErr QTIsStandardParameterDialogEvent(EventRecord *pEvent, QTParameterDialog createdDialog)
  5175. ;
  5176.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5177.         Macro
  5178.         _QTIsStandardParameterDialogEvent
  5179.             move.w              #$02CB,D0
  5180.             dc.w                $AAAA
  5181.         EndM
  5182.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5183.         IMPORT_CFM_FUNCTION QTIsStandardParameterDialogEvent
  5184.     ENDIF
  5185.  
  5186. ;
  5187. ; pascal OSErr QTDismissStandardParameterDialog(QTParameterDialog createdDialog)
  5188. ;
  5189.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5190.         Macro
  5191.         _QTDismissStandardParameterDialog
  5192.             move.w              #$02CC,D0
  5193.             dc.w                $AAAA
  5194.         EndM
  5195.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5196.         IMPORT_CFM_FUNCTION QTDismissStandardParameterDialog
  5197.     ENDIF
  5198.  
  5199. ;
  5200. ; pascal OSErr QTStandardParameterDialogDoAction(QTParameterDialog createdDialog, long action, void *params)
  5201. ;
  5202.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5203.         Macro
  5204.         _QTStandardParameterDialogDoAction
  5205.             move.w              #$02CD,D0
  5206.             dc.w                $AAAA
  5207.         EndM
  5208.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5209.         IMPORT_CFM_FUNCTION QTStandardParameterDialogDoAction
  5210.     ENDIF
  5211.  
  5212. ;
  5213. ; pascal OSErr QTGetEffectSpeed(QTAtomContainer parameters, Fixed *pFPS)
  5214. ;
  5215.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5216.         Macro
  5217.         _QTGetEffectSpeed
  5218.             move.w              #$02D2,D0
  5219.             dc.w                $AAAA
  5220.         EndM
  5221.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5222.         IMPORT_CFM_FUNCTION QTGetEffectSpeed
  5223.     ENDIF
  5224.  
  5225. ; *****
  5226. ;    Access Keys
  5227. ;****
  5228.  
  5229.  
  5230. kAccessKeyAtomType                EQU        'acky'
  5231.  
  5232. kAccessKeySystemFlag            EQU        $00000001
  5233. ;
  5234. ; pascal OSErr QTGetAccessKeys(Str255 accessKeyType, long flags, QTAtomContainer *keys)
  5235. ;
  5236.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5237.         Macro
  5238.         _QTGetAccessKeys
  5239.             move.w              #$02B3,D0
  5240.             dc.w                $AAAA
  5241.         EndM
  5242.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5243.         IMPORT_CFM_FUNCTION QTGetAccessKeys
  5244.     ENDIF
  5245.  
  5246. ;
  5247. ; pascal OSErr QTRegisterAccessKey(Str255 accessKeyType, long flags, Handle accessKey)
  5248. ;
  5249.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5250.         Macro
  5251.         _QTRegisterAccessKey
  5252.             move.w              #$02B4,D0
  5253.             dc.w                $AAAA
  5254.         EndM
  5255.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5256.         IMPORT_CFM_FUNCTION QTRegisterAccessKey
  5257.     ENDIF
  5258.  
  5259. ;
  5260. ; pascal OSErr QTUnregisterAccessKey(Str255 accessKeyType, long flags, Handle accessKey)
  5261. ;
  5262.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5263.         Macro
  5264.         _QTUnregisterAccessKey
  5265.             move.w              #$02B5,D0
  5266.             dc.w                $AAAA
  5267.         EndM
  5268.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5269.         IMPORT_CFM_FUNCTION QTUnregisterAccessKey
  5270.     ENDIF
  5271.  
  5272. ; *****
  5273. ;    Time table
  5274. ;****
  5275.  
  5276. ;
  5277. ; pascal OSErr MakeTrackTimeTable(Track trackH, long **offsets, TimeValue startTime, TimeValue endTime, TimeValue timeIncrement, short firstDataRefIndex, short lastDataRefIndex, long *retdataRefSkew)
  5278. ;
  5279.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5280.         Macro
  5281.         _MakeTrackTimeTable
  5282.             move.w              #$02BE,D0
  5283.             dc.w                $AAAA
  5284.         EndM
  5285.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5286.         IMPORT_CFM_FUNCTION MakeTrackTimeTable
  5287.     ENDIF
  5288.  
  5289. ;
  5290. ; pascal OSErr MakeMediaTimeTable(Media theMedia, long **offsets, TimeValue startTime, TimeValue endTime, TimeValue timeIncrement, short firstDataRefIndex, short lastDataRefIndex, long *retdataRefSkew)
  5291. ;
  5292.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5293.         Macro
  5294.         _MakeMediaTimeTable
  5295.             move.w              #$02BF,D0
  5296.             dc.w                $AAAA
  5297.         EndM
  5298.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5299.         IMPORT_CFM_FUNCTION MakeMediaTimeTable
  5300.     ENDIF
  5301.  
  5302. ;
  5303. ; pascal OSErr GetMaxLoadedTimeInMovie(Movie theMovie, TimeValue *time)
  5304. ;
  5305.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5306.         Macro
  5307.         _GetMaxLoadedTimeInMovie
  5308.             move.w              #$02C0,D0
  5309.             dc.w                $AAAA
  5310.         EndM
  5311.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5312.         IMPORT_CFM_FUNCTION GetMaxLoadedTimeInMovie
  5313.     ENDIF
  5314.  
  5315. ;
  5316. ; pascal OSErr QTMovieNeedsTimeTable(Movie theMovie, Boolean *needsTimeTable)
  5317. ;
  5318.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5319.         Macro
  5320.         _QTMovieNeedsTimeTable
  5321.             move.w              #$02C3,D0
  5322.             dc.w                $AAAA
  5323.         EndM
  5324.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5325.         IMPORT_CFM_FUNCTION QTMovieNeedsTimeTable
  5326.     ENDIF
  5327.  
  5328. ;
  5329. ; pascal OSErr QTGetDataRefMaxFileOffset(Movie movieH, OSType dataRefType, Handle dataRef, long *offset)
  5330. ;
  5331.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5332.         Macro
  5333.         _QTGetDataRefMaxFileOffset
  5334.             move.w              #$02C6,D0
  5335.             dc.w                $AAAA
  5336.         EndM
  5337.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5338.         IMPORT_CFM_FUNCTION QTGetDataRefMaxFileOffset
  5339.     ENDIF
  5340.  
  5341.  
  5342.  
  5343. ; *****
  5344. ;    QT International Text Atom Support
  5345. ;****
  5346.  
  5347.  
  5348. kITextRemoveEverythingBut        EQU        $00
  5349. kITextRemoveLeaveSuggestedAlternate EQU    $02
  5350.  
  5351. kITextAtomType                    EQU        'itxt'
  5352. kITextStringAtomType            EQU        'text'
  5353. ;
  5354. ; pascal OSErr ITextAddString(QTAtomContainer container, QTAtom parentAtom, RegionCode theRegionCode, ConstStr255Param theString)
  5355. ;
  5356.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5357.         Macro
  5358.         _ITextAddString
  5359.             move.w              #$027A,D0
  5360.             dc.w                $AAAA
  5361.         EndM
  5362.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5363.         IMPORT_CFM_FUNCTION ITextAddString
  5364.     ENDIF
  5365.  
  5366. ;
  5367. ; pascal OSErr ITextRemoveString(QTAtomContainer container, QTAtom parentAtom, RegionCode theRegionCode, long flags)
  5368. ;
  5369.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5370.         Macro
  5371.         _ITextRemoveString
  5372.             move.w              #$027B,D0
  5373.             dc.w                $AAAA
  5374.         EndM
  5375.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5376.         IMPORT_CFM_FUNCTION ITextRemoveString
  5377.     ENDIF
  5378.  
  5379. ;
  5380. ; pascal OSErr ITextGetString(QTAtomContainer container, QTAtom parentAtom, RegionCode requestedRegion, RegionCode *foundRegion, StringPtr theString)
  5381. ;
  5382.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5383.         Macro
  5384.         _ITextGetString
  5385.             move.w              #$027C,D0
  5386.             dc.w                $AAAA
  5387.         EndM
  5388.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5389.         IMPORT_CFM_FUNCTION ITextGetString
  5390.     ENDIF
  5391.  
  5392. ;
  5393. ; pascal OSErr QTTextToNativeText(Handle theText, long encoding, long flags)
  5394. ;
  5395.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5396.         Macro
  5397.         _QTTextToNativeText
  5398.             move.w              #$02DB,D0
  5399.             dc.w                $AAAA
  5400.         EndM
  5401.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5402.         IMPORT_CFM_FUNCTION QTTextToNativeText
  5403.     ENDIF
  5404.  
  5405. ; *************************
  5406. ;* track reference types
  5407. ;*************************
  5408.  
  5409.  
  5410. kTrackReferenceChapterList        EQU        'chap'
  5411. kTrackReferenceTimeCode            EQU        'tmcd'
  5412. kTrackReferenceModifier            EQU        'ssrc'
  5413. ; *************************
  5414. ;* modifier track types
  5415. ;*************************
  5416.  
  5417.  
  5418. kTrackModifierInput                EQU        $696E                ; is really 'in'
  5419. kTrackModifierType                EQU        $7479                ; is really 'ty'
  5420. kTrackModifierReference            EQU        'ssrc'
  5421. kTrackModifierObjectID            EQU        'obid'
  5422. kTrackModifierInputName            EQU        'name'
  5423.  
  5424. kInputMapSubInputID                EQU        'subi'
  5425.  
  5426. kTrackModifierTypeMatrix        EQU        1
  5427. kTrackModifierTypeClip            EQU        2
  5428. kTrackModifierTypeGraphicsMode    EQU        5
  5429. kTrackModifierTypeVolume        EQU        3
  5430. kTrackModifierTypeBalance        EQU        4
  5431. kTrackModifierTypeImage            EQU        'vide'                ; was kTrackModifierTypeSpriteImage
  5432. kTrackModifierObjectMatrix        EQU        6
  5433. kTrackModifierObjectGraphicsMode EQU    7
  5434. kTrackModifierType3d4x4Matrix    EQU        8
  5435. kTrackModifierCameraData        EQU        9
  5436. kTrackModifierSoundLocalizationData EQU    10
  5437. kTrackModifierObjectImageIndex    EQU        11
  5438. kTrackModifierObjectLayer        EQU        12
  5439. kTrackModifierObjectVisible        EQU        13
  5440. kTrackModifierPanAngle            EQU        'pan '
  5441. kTrackModifierTiltAngle            EQU        'tilt'
  5442. kTrackModifierVerticalFieldOfViewAngle EQU 'fov '
  5443. kTrackModifierObjectQTEventSend    EQU        'evnt'
  5444. ModifierTrackGraphicsModeRecord RECORD 0
  5445. graphicsMode             ds.l    1                ; offset: $0 (0)
  5446. opColor                     ds        RGBColor        ; offset: $4 (4)
  5447. sizeof                     EQU *                    ; size:   $A (10)
  5448.                         ENDR
  5449.  
  5450. ; *************************
  5451. ;* tween track types
  5452. ;*************************
  5453.  
  5454.  
  5455. kTweenTypeShort                    EQU        1
  5456. kTweenTypeLong                    EQU        2
  5457. kTweenTypeFixed                    EQU        3
  5458. kTweenTypePoint                    EQU        4
  5459. kTweenTypeQDRect                EQU        5
  5460. kTweenTypeQDRegion                EQU        6
  5461. kTweenTypeMatrix                EQU        7
  5462. kTweenTypeRGBColor                EQU        8
  5463. kTweenTypeGraphicsModeWithRGBColor EQU    9
  5464. kTweenTypeQTFloatSingle            EQU        10
  5465. kTweenTypeQTFloatDouble            EQU        11
  5466. kTweenTypeFixedPoint            EQU        12
  5467. kTweenType3dScale                EQU        '3sca'
  5468. kTweenType3dTranslate            EQU        '3tra'
  5469. kTweenType3dRotate                EQU        '3rot'
  5470. kTweenType3dRotateAboutPoint    EQU        '3rap'
  5471. kTweenType3dRotateAboutAxis        EQU        '3rax'
  5472. kTweenType3dRotateAboutVector    EQU        '3rvc'
  5473. kTweenType3dQuaternion            EQU        '3qua'
  5474. kTweenType3dMatrix                EQU        '3mat'
  5475. kTweenType3dCameraData            EQU        '3cam'
  5476. kTweenType3dSoundLocalizationData EQU    '3slc'
  5477. kTweenTypePathToMatrixTranslation EQU    'gxmt'
  5478. kTweenTypePathToMatrixRotation    EQU        'gxpr'
  5479. kTweenTypePathToMatrixTranslationAndRotation EQU 'gxmr'
  5480. kTweenTypePathToFixedPoint        EQU        'gxfp'
  5481. kTweenTypePathXtoY                EQU        'gxxy'
  5482. kTweenTypePathYtoX                EQU        'gxyx'
  5483. kTweenTypeAtomList                EQU        'atom'
  5484. kTweenTypePolygon                EQU        'poly'
  5485. kTweenTypeMultiMatrix            EQU        'mulm'
  5486. kTweenTypeSpin                    EQU        'spin'
  5487. kTweenType3dMatrixNonLinear        EQU        '3nlr'
  5488. kTweenType3dVRObject            EQU        '3vro'
  5489.  
  5490. kTweenEntry                        EQU        'twen'
  5491. kTweenData                        EQU        'data'
  5492. kTweenType                        EQU        'twnt'
  5493. kTweenStartOffset                EQU        'twst'
  5494. kTweenDuration                    EQU        'twdu'
  5495. kTweenFlags                        EQU        'flag'
  5496. kTweenOutputMin                    EQU        'omin'
  5497. kTweenOutputMax                    EQU        'omax'
  5498. kTweenSequenceElement            EQU        'seqe'
  5499. kTween3dInitialCondition        EQU        'icnd'
  5500. kTweenInterpolationID            EQU        'intr'
  5501. kTweenRegionData                EQU        'qdrg'
  5502. kTweenPictureData                EQU        'PICT'
  5503. kListElementType                EQU        'type'
  5504. kListElementDataType            EQU        'daty'
  5505. kNameAtom                        EQU        'name'
  5506. kInitialRotationAtom            EQU        'inro'
  5507. kNonLinearTweenHeader            EQU        'nlth'
  5508. ;  kTweenFlags
  5509.  
  5510. kTweenReturnDelta                EQU        $00000001
  5511. TweenSequenceEntryRecord RECORD 0
  5512. endPercent                 ds.l    1                ; offset: $0 (0)
  5513. tweenAtomID                 ds.l    1                ; offset: $4 (4)
  5514. dataAtomID                 ds.l    1                ; offset: $8 (8)
  5515. sizeof                     EQU *                    ; size:   $C (12)
  5516.                         ENDR
  5517.  
  5518.  
  5519.  
  5520.  
  5521.  
  5522. ;  they are for non-MacOS file manager
  5523.  
  5524. pathTooLongErr                    EQU        -2110
  5525. emptyPathErr                    EQU        -2111
  5526. noPathMappingErr                EQU        -2112
  5527. pathNotVerifiedErr                EQU        -2113
  5528. unknownFormatErr                EQU        -2114
  5529. wackBadFileErr                    EQU        -2115
  5530. wackForkNotFoundErr                EQU        -2116
  5531. wackBadMetaDataErr                EQU        -2117
  5532. qfcbNotFoundErr                    EQU        -2118
  5533. qfcbNotCreatedErr                EQU        -2119
  5534. AAPNotCreatedErr                EQU        -2120
  5535. AAPNotFoundErr                    EQU        -2121
  5536. ASDBadHeaderErr                    EQU        -2122
  5537. ASDBadForkErr                    EQU        -2123
  5538. ASDEntryNotFoundErr                EQU        -2124
  5539.  
  5540.  
  5541.  
  5542.  
  5543. ; *************************
  5544. ;* Video Media routines
  5545. ;*************************
  5546.  
  5547.  
  5548.  
  5549.  
  5550. videoFlagDontLeanAhead            EQU        $00000001
  5551.  
  5552.  
  5553.  
  5554. ;  use these three routines at your own peril
  5555. ;
  5556. ; pascal ComponentResult VideoMediaResetStatistics(MediaHandler mh)
  5557. ;
  5558.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5559.         Macro
  5560.         _VideoMediaResetStatistics
  5561.             move.l              #$00000105,-(sp)
  5562.             moveq               #0,D0
  5563.             dc.w                $A82A
  5564.         EndM
  5565.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5566.         IMPORT_CFM_FUNCTION VideoMediaResetStatistics
  5567.     ENDIF
  5568.  
  5569. ;
  5570. ; pascal ComponentResult VideoMediaGetStatistics(MediaHandler mh)
  5571. ;
  5572.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5573.         Macro
  5574.         _VideoMediaGetStatistics
  5575.             move.l              #$00000106,-(sp)
  5576.             moveq               #0,D0
  5577.             dc.w                $A82A
  5578.         EndM
  5579.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5580.         IMPORT_CFM_FUNCTION VideoMediaGetStatistics
  5581.     ENDIF
  5582.  
  5583.  
  5584. ;
  5585. ; pascal ComponentResult VideoMediaGetStallCount(MediaHandler mh, unsigned long *stalls)
  5586. ;
  5587.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5588.         Macro
  5589.         _VideoMediaGetStallCount
  5590.             move.l              #$0004010E,-(sp)
  5591.             moveq               #0,D0
  5592.             dc.w                $A82A
  5593.         EndM
  5594.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5595.         IMPORT_CFM_FUNCTION VideoMediaGetStallCount
  5596.     ENDIF
  5597.  
  5598.  
  5599.  
  5600. ; *************************
  5601. ;* Text Media routines
  5602. ;*************************
  5603.  
  5604.  
  5605.  
  5606.  
  5607. ;  Return displayFlags for TextProc 
  5608.  
  5609. txtProcDefaultDisplay            EQU        0                    ;    Use the media's default
  5610. txtProcDontDisplay                EQU        1                    ;    Don't display the text
  5611. txtProcDoDisplay                EQU        2                    ;    Do display the text
  5612. ;
  5613. ; pascal ComponentResult TextMediaSetTextProc(MediaHandler mh, TextMediaUPP TextProc, long refcon)
  5614. ;
  5615.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5616.         Macro
  5617.         _TextMediaSetTextProc
  5618.             move.l              #$00080101,-(sp)
  5619.             moveq               #0,D0
  5620.             dc.w                $A82A
  5621.         EndM
  5622.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5623.         IMPORT_CFM_FUNCTION TextMediaSetTextProc
  5624.     ENDIF
  5625.  
  5626. ;
  5627. ; pascal ComponentResult TextMediaAddTextSample(MediaHandler mh, Ptr text, unsigned long size, short fontNumber, short fontSize, Style textFace, RGBColor *textColor, RGBColor *backColor, short textJustification, Rect *textBox, long displayFlags, TimeValue scrollDelay, short hiliteStart, short hiliteEnd, RGBColor *rgbHiliteColor, TimeValue duration, TimeValue *sampleTime)
  5628. ;
  5629.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5630.         Macro
  5631.         _TextMediaAddTextSample
  5632.             move.l              #$00340102,-(sp)
  5633.             moveq               #0,D0
  5634.             dc.w                $A82A
  5635.         EndM
  5636.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5637.         IMPORT_CFM_FUNCTION TextMediaAddTextSample
  5638.     ENDIF
  5639.  
  5640. ;
  5641. ; pascal ComponentResult TextMediaAddTESample(MediaHandler mh, TEHandle hTE, RGBColor *backColor, short textJustification, Rect *textBox, long displayFlags, TimeValue scrollDelay, short hiliteStart, short hiliteEnd, RGBColor *rgbHiliteColor, TimeValue duration, TimeValue *sampleTime)
  5642. ;
  5643.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5644.         Macro
  5645.         _TextMediaAddTESample
  5646.             move.l              #$00260103,-(sp)
  5647.             moveq               #0,D0
  5648.             dc.w                $A82A
  5649.         EndM
  5650.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5651.         IMPORT_CFM_FUNCTION TextMediaAddTESample
  5652.     ENDIF
  5653.  
  5654. ;
  5655. ; pascal ComponentResult TextMediaAddHiliteSample(MediaHandler mh, short hiliteStart, short hiliteEnd, RGBColor *rgbHiliteColor, TimeValue duration, TimeValue *sampleTime)
  5656. ;
  5657.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5658.         Macro
  5659.         _TextMediaAddHiliteSample
  5660.             move.l              #$00100104,-(sp)
  5661.             moveq               #0,D0
  5662.             dc.w                $A82A
  5663.         EndM
  5664.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5665.         IMPORT_CFM_FUNCTION TextMediaAddHiliteSample
  5666.     ENDIF
  5667.  
  5668.  
  5669. findTextEdgeOK                    EQU        $01                    ; Okay to find text at specified sample time
  5670. findTextCaseSensitive            EQU        $02                    ; Case sensitive search
  5671. findTextReverseSearch            EQU        $04                    ; Search from sampleTime backwards
  5672. findTextWrapAround                EQU        $08                    ; Wrap search when beginning or end of movie is hit
  5673. findTextUseOffset                EQU        $10                    ; Begin search at the given character offset into sample rather than edge
  5674. ;
  5675. ; pascal ComponentResult TextMediaFindNextText(MediaHandler mh, Ptr text, long size, short findFlags, TimeValue startTime, TimeValue *foundTime, TimeValue *foundDuration, long *offset)
  5676. ;
  5677.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5678.         Macro
  5679.         _TextMediaFindNextText
  5680.             move.l              #$001A0105,-(sp)
  5681.             moveq               #0,D0
  5682.             dc.w                $A82A
  5683.         EndM
  5684.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5685.         IMPORT_CFM_FUNCTION TextMediaFindNextText
  5686.     ENDIF
  5687.  
  5688. ;
  5689. ; pascal ComponentResult TextMediaHiliteTextSample(MediaHandler mh, TimeValue sampleTime, short hiliteStart, short hiliteEnd, RGBColor *rgbHiliteColor)
  5690. ;
  5691.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5692.         Macro
  5693.         _TextMediaHiliteTextSample
  5694.             move.l              #$000C0106,-(sp)
  5695.             moveq               #0,D0
  5696.             dc.w                $A82A
  5697.         EndM
  5698.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5699.         IMPORT_CFM_FUNCTION TextMediaHiliteTextSample
  5700.     ENDIF
  5701.  
  5702.  
  5703. dropShadowOffsetType            EQU        'drpo'
  5704. dropShadowTranslucencyType        EQU        'drpt'
  5705. ;
  5706. ; pascal ComponentResult TextMediaSetTextSampleData(MediaHandler mh, void *data, OSType dataType)
  5707. ;
  5708.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5709.         Macro
  5710.         _TextMediaSetTextSampleData
  5711.             move.l              #$00080107,-(sp)
  5712.             moveq               #0,D0
  5713.             dc.w                $A82A
  5714.         EndM
  5715.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5716.         IMPORT_CFM_FUNCTION TextMediaSetTextSampleData
  5717.     ENDIF
  5718.  
  5719.  
  5720.  
  5721.  
  5722.  
  5723. ; *************************
  5724. ;* Sprite Media routines
  5725. ;*************************
  5726.  
  5727. ;  flags for sprite hit test routines 
  5728.  
  5729. spriteHitTestBounds                EQU        $00000001            ;    point must only be within sprite's bounding box
  5730. spriteHitTestImage                EQU        $00000002            ;  point must be within the shape of the sprite's image
  5731. spriteHitTestInvisibleSprites    EQU        $00000004            ;  invisible sprites may be hit tested
  5732. spriteHitTestIsClick            EQU        $00000008            ;  for codecs that want mouse events
  5733. spriteHitTestLocInDisplayCoordinates EQU $00000010            ;    set if you want to pass a display coordiate point to SpriteHitTest
  5734. ;  atom types for sprite media 
  5735.  
  5736. kSpriteAtomType                    EQU        'sprt'
  5737. kSpriteImagesContainerAtomType    EQU        'imct'
  5738. kSpriteImageAtomType            EQU        'imag'
  5739. kSpriteImageDataAtomType        EQU        'imda'
  5740. kSpriteImageGroupIDAtomType        EQU        'imgr'
  5741. kSpriteImageRegistrationAtomType EQU    'imrg'
  5742. kSpriteSharedDataAtomType        EQU        'dflt'
  5743. kSpriteNameAtomType                EQU        'name'
  5744. kSpriteImageNameAtomType        EQU        'name'
  5745. kSpriteUsesImageIDsAtomType        EQU        'uses'                ; leaf data is an array of QTAtomID's, one per image used
  5746. ;
  5747. ; pascal ComponentResult SpriteMediaSetProperty(MediaHandler mh, short spriteIndex, long propertyType, void *propertyValue)
  5748. ;
  5749.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5750.         Macro
  5751.         _SpriteMediaSetProperty
  5752.             move.l              #$000A0101,-(sp)
  5753.             moveq               #0,D0
  5754.             dc.w                $A82A
  5755.         EndM
  5756.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5757.         IMPORT_CFM_FUNCTION SpriteMediaSetProperty
  5758.     ENDIF
  5759.  
  5760. ;
  5761. ; pascal ComponentResult SpriteMediaGetProperty(MediaHandler mh, short spriteIndex, long propertyType, void *propertyValue)
  5762. ;
  5763.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5764.         Macro
  5765.         _SpriteMediaGetProperty
  5766.             move.l              #$000A0102,-(sp)
  5767.             moveq               #0,D0
  5768.             dc.w                $A82A
  5769.         EndM
  5770.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5771.         IMPORT_CFM_FUNCTION SpriteMediaGetProperty
  5772.     ENDIF
  5773.  
  5774. ;
  5775. ; pascal ComponentResult SpriteMediaHitTestSprites(MediaHandler mh, long flags, Point loc, short *spriteHitIndex)
  5776. ;
  5777.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5778.         Macro
  5779.         _SpriteMediaHitTestSprites
  5780.             move.l              #$000C0103,-(sp)
  5781.             moveq               #0,D0
  5782.             dc.w                $A82A
  5783.         EndM
  5784.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5785.         IMPORT_CFM_FUNCTION SpriteMediaHitTestSprites
  5786.     ENDIF
  5787.  
  5788. ;
  5789. ; pascal ComponentResult SpriteMediaCountSprites(MediaHandler mh, short *numSprites)
  5790. ;
  5791.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5792.         Macro
  5793.         _SpriteMediaCountSprites
  5794.             move.l              #$00040104,-(sp)
  5795.             moveq               #0,D0
  5796.             dc.w                $A82A
  5797.         EndM
  5798.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5799.         IMPORT_CFM_FUNCTION SpriteMediaCountSprites
  5800.     ENDIF
  5801.  
  5802. ;
  5803. ; pascal ComponentResult SpriteMediaCountImages(MediaHandler mh, short *numImages)
  5804. ;
  5805.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5806.         Macro
  5807.         _SpriteMediaCountImages
  5808.             move.l              #$00040105,-(sp)
  5809.             moveq               #0,D0
  5810.             dc.w                $A82A
  5811.         EndM
  5812.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5813.         IMPORT_CFM_FUNCTION SpriteMediaCountImages
  5814.     ENDIF
  5815.  
  5816. ;
  5817. ; pascal ComponentResult SpriteMediaGetIndImageDescription(MediaHandler mh, short imageIndex, ImageDescriptionHandle imageDescription)
  5818. ;
  5819.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5820.         Macro
  5821.         _SpriteMediaGetIndImageDescription
  5822.             move.l              #$00060106,-(sp)
  5823.             moveq               #0,D0
  5824.             dc.w                $A82A
  5825.         EndM
  5826.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5827.         IMPORT_CFM_FUNCTION SpriteMediaGetIndImageDescription
  5828.     ENDIF
  5829.  
  5830. ;
  5831. ; pascal ComponentResult SpriteMediaGetDisplayedSampleNumber(MediaHandler mh, long *sampleNum)
  5832. ;
  5833.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5834.         Macro
  5835.         _SpriteMediaGetDisplayedSampleNumber
  5836.             move.l              #$00040107,-(sp)
  5837.             moveq               #0,D0
  5838.             dc.w                $A82A
  5839.         EndM
  5840.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5841.         IMPORT_CFM_FUNCTION SpriteMediaGetDisplayedSampleNumber
  5842.     ENDIF
  5843.  
  5844. ;
  5845. ; pascal ComponentResult SpriteMediaGetSpriteName(MediaHandler mh, QTAtomID spriteID, Str255 spriteName)
  5846. ;
  5847.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5848.         Macro
  5849.         _SpriteMediaGetSpriteName
  5850.             move.l              #$00080108,-(sp)
  5851.             moveq               #0,D0
  5852.             dc.w                $A82A
  5853.         EndM
  5854.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5855.         IMPORT_CFM_FUNCTION SpriteMediaGetSpriteName
  5856.     ENDIF
  5857.  
  5858. ;
  5859. ; pascal ComponentResult SpriteMediaGetImageName(MediaHandler mh, short imageIndex, Str255 imageName)
  5860. ;
  5861.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5862.         Macro
  5863.         _SpriteMediaGetImageName
  5864.             move.l              #$00060109,-(sp)
  5865.             moveq               #0,D0
  5866.             dc.w                $A82A
  5867.         EndM
  5868.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5869.         IMPORT_CFM_FUNCTION SpriteMediaGetImageName
  5870.     ENDIF
  5871.  
  5872. ;
  5873. ; pascal ComponentResult SpriteMediaSetSpriteProperty(MediaHandler mh, QTAtomID spriteID, long propertyType, void *propertyValue)
  5874. ;
  5875.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5876.         Macro
  5877.         _SpriteMediaSetSpriteProperty
  5878.             move.l              #$000C010A,-(sp)
  5879.             moveq               #0,D0
  5880.             dc.w                $A82A
  5881.         EndM
  5882.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5883.         IMPORT_CFM_FUNCTION SpriteMediaSetSpriteProperty
  5884.     ENDIF
  5885.  
  5886. ;
  5887. ; pascal ComponentResult SpriteMediaGetSpriteProperty(MediaHandler mh, QTAtomID spriteID, long propertyType, void *propertyValue)
  5888. ;
  5889.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5890.         Macro
  5891.         _SpriteMediaGetSpriteProperty
  5892.             move.l              #$000C010B,-(sp)
  5893.             moveq               #0,D0
  5894.             dc.w                $A82A
  5895.         EndM
  5896.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5897.         IMPORT_CFM_FUNCTION SpriteMediaGetSpriteProperty
  5898.     ENDIF
  5899.  
  5900. ;
  5901. ; pascal ComponentResult SpriteMediaHitTestAllSprites(MediaHandler mh, long flags, Point loc, QTAtomID *spriteHitID)
  5902. ;
  5903.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5904.         Macro
  5905.         _SpriteMediaHitTestAllSprites
  5906.             move.l              #$000C010C,-(sp)
  5907.             moveq               #0,D0
  5908.             dc.w                $A82A
  5909.         EndM
  5910.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5911.         IMPORT_CFM_FUNCTION SpriteMediaHitTestAllSprites
  5912.     ENDIF
  5913.  
  5914. ;
  5915. ; pascal ComponentResult SpriteMediaHitTestOneSprite(MediaHandler mh, QTAtomID spriteID, long flags, Point loc, Boolean *wasHit)
  5916. ;
  5917.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5918.         Macro
  5919.         _SpriteMediaHitTestOneSprite
  5920.             move.l              #$0010010D,-(sp)
  5921.             moveq               #0,D0
  5922.             dc.w                $A82A
  5923.         EndM
  5924.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5925.         IMPORT_CFM_FUNCTION SpriteMediaHitTestOneSprite
  5926.     ENDIF
  5927.  
  5928. ;
  5929. ; pascal ComponentResult SpriteMediaSpriteIndexToID(MediaHandler mh, short spriteIndex, QTAtomID *spriteID)
  5930. ;
  5931.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5932.         Macro
  5933.         _SpriteMediaSpriteIndexToID
  5934.             move.l              #$0006010E,-(sp)
  5935.             moveq               #0,D0
  5936.             dc.w                $A82A
  5937.         EndM
  5938.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5939.         IMPORT_CFM_FUNCTION SpriteMediaSpriteIndexToID
  5940.     ENDIF
  5941.  
  5942. ;
  5943. ; pascal ComponentResult SpriteMediaSpriteIDToIndex(MediaHandler mh, QTAtomID spriteID, short *spriteIndex)
  5944. ;
  5945.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5946.         Macro
  5947.         _SpriteMediaSpriteIDToIndex
  5948.             move.l              #$0008010F,-(sp)
  5949.             moveq               #0,D0
  5950.             dc.w                $A82A
  5951.         EndM
  5952.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5953.         IMPORT_CFM_FUNCTION SpriteMediaSpriteIDToIndex
  5954.     ENDIF
  5955.  
  5956. ;
  5957. ; pascal ComponentResult SpriteMediaGetSpriteActionsForQTEvent(MediaHandler mh, QTEventRecordPtr event, QTAtomID spriteID, QTAtomContainer *container, QTAtom *atom)
  5958. ;
  5959.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5960.         Macro
  5961.         _SpriteMediaGetSpriteActionsForQTEvent
  5962.             move.l              #$00100110,-(sp)
  5963.             moveq               #0,D0
  5964.             dc.w                $A82A
  5965.         EndM
  5966.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5967.         IMPORT_CFM_FUNCTION SpriteMediaGetSpriteActionsForQTEvent
  5968.     ENDIF
  5969.  
  5970. ;
  5971. ; pascal ComponentResult SpriteMediaSetActionVariable(MediaHandler mh, QTAtomID variableID, const float *value)
  5972. ;
  5973.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5974.         Macro
  5975.         _SpriteMediaSetActionVariable
  5976.             move.l              #$00080111,-(sp)
  5977.             moveq               #0,D0
  5978.             dc.w                $A82A
  5979.         EndM
  5980.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5981.         IMPORT_CFM_FUNCTION SpriteMediaSetActionVariable
  5982.     ENDIF
  5983.  
  5984. ;
  5985. ; pascal ComponentResult SpriteMediaGetActionVariable(MediaHandler mh, QTAtomID variableID, float *value)
  5986. ;
  5987.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5988.         Macro
  5989.         _SpriteMediaGetActionVariable
  5990.             move.l              #$00080112,-(sp)
  5991.             moveq               #0,D0
  5992.             dc.w                $A82A
  5993.         EndM
  5994.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5995.         IMPORT_CFM_FUNCTION SpriteMediaGetActionVariable
  5996.     ENDIF
  5997.  
  5998. ;
  5999. ; pascal ComponentResult SpriteMediaGetIndImageProperty(MediaHandler mh, short imageIndex, long imagePropertyType, void *imagePropertyValue)
  6000. ;
  6001.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6002.         Macro
  6003.         _SpriteMediaGetIndImageProperty
  6004.             move.l              #$000A0113,-(sp)
  6005.             moveq               #0,D0
  6006.             dc.w                $A82A
  6007.         EndM
  6008.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6009.         IMPORT_CFM_FUNCTION SpriteMediaGetIndImageProperty
  6010.     ENDIF
  6011.  
  6012.  
  6013. ; *************************
  6014. ;* 3D Media routines
  6015. ;*************************
  6016.  
  6017. ;
  6018. ; pascal ComponentResult Media3DGetNamedObjectList(MediaHandler mh, QTAtomContainer *objectList)
  6019. ;
  6020.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6021.         Macro
  6022.         _Media3DGetNamedObjectList
  6023.             move.l              #$00040101,-(sp)
  6024.             moveq               #0,D0
  6025.             dc.w                $A82A
  6026.         EndM
  6027.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6028.         IMPORT_CFM_FUNCTION Media3DGetNamedObjectList
  6029.     ENDIF
  6030.  
  6031. ;
  6032. ; pascal ComponentResult Media3DGetRendererList(MediaHandler mh, QTAtomContainer *rendererList)
  6033. ;
  6034.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6035.         Macro
  6036.         _Media3DGetRendererList
  6037.             move.l              #$00040102,-(sp)
  6038.             moveq               #0,D0
  6039.             dc.w                $A82A
  6040.         EndM
  6041.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6042.         IMPORT_CFM_FUNCTION Media3DGetRendererList
  6043.     ENDIF
  6044.  
  6045.  
  6046.  
  6047. ; ****************************************
  6048. ;*                                        *
  6049. ;*      M O V I E   C O N T R O L L E R        *
  6050. ;*                                        *
  6051. ;***************************************
  6052.  
  6053.  
  6054. MovieControllerComponentType    EQU        'play'
  6055.  
  6056.  
  6057. kMovieControllerQTVRFlag        EQU        $01
  6058. kMovieControllerDontDisplayToUser EQU    $02
  6059. ; typedef ComponentInstance             MovieController
  6060.  
  6061.  
  6062. mcActionIdle                    EQU        1                    ; no param
  6063. mcActionDraw                    EQU        2                    ; param is WindowPtr
  6064. mcActionActivate                EQU        3                    ; no param
  6065. mcActionDeactivate                EQU        4                    ; no param
  6066. mcActionMouseDown                EQU        5                    ; param is pointer to EventRecord
  6067. mcActionKey                        EQU        6                    ; param is pointer to EventRecord
  6068. mcActionPlay                    EQU        8                    ; param is Fixed, play rate
  6069. mcActionGoToTime                EQU        12                    ; param is TimeRecord
  6070. mcActionSetVolume                EQU        14                    ; param is a short
  6071. mcActionGetVolume                EQU        15                    ; param is pointer to a short
  6072. mcActionStep                    EQU        18                    ; param is number of steps (short)
  6073. mcActionSetLooping                EQU        21                    ; param is Boolean
  6074. mcActionGetLooping                EQU        22                    ; param is pointer to a Boolean
  6075. mcActionSetLoopIsPalindrome        EQU        23                    ; param is Boolean
  6076. mcActionGetLoopIsPalindrome        EQU        24                    ; param is pointer to a Boolean
  6077. mcActionSetGrowBoxBounds        EQU        25                    ; param is a Rect
  6078. mcActionControllerSizeChanged    EQU        26                    ; no param
  6079. mcActionSetSelectionBegin        EQU        29                    ; param is TimeRecord
  6080. mcActionSetSelectionDuration    EQU        30                    ; param is TimeRecord, action only taken on set-duration
  6081. mcActionSetKeysEnabled            EQU        32                    ; param is Boolean
  6082. mcActionGetKeysEnabled            EQU        33                    ; param is pointer to Boolean
  6083. mcActionSetPlaySelection        EQU        34                    ; param is Boolean
  6084. mcActionGetPlaySelection        EQU        35                    ; param is pointer to Boolean
  6085. mcActionSetUseBadge                EQU        36                    ; param is Boolean
  6086. mcActionGetUseBadge                EQU        37                    ; param is pointer to Boolean
  6087. mcActionSetFlags                EQU        38                    ; param is long of flags
  6088. mcActionGetFlags                EQU        39                    ; param is pointer to a long of flags
  6089. mcActionSetPlayEveryFrame        EQU        40                    ; param is Boolean
  6090. mcActionGetPlayEveryFrame        EQU        41                    ; param is pointer to Boolean
  6091. mcActionGetPlayRate                EQU        42                    ; param is pointer to Fixed
  6092. mcActionShowBalloon                EQU        43                    ; param is a pointer to a boolean. set to false to stop balloon
  6093. mcActionBadgeClick                EQU        44                    ; param is pointer to Boolean. set to false to ignore click
  6094. mcActionMovieClick                EQU        45                    ; param is pointer to event record. change "what" to nullEvt to kill click
  6095. mcActionSuspend                    EQU        46                    ; no param
  6096. mcActionResume                    EQU        47                    ; no param
  6097. mcActionSetControllerKeysEnabled EQU    48                    ; param is Boolean
  6098. mcActionGetTimeSliderRect        EQU        49                    ; param is pointer to rect
  6099. mcActionMovieEdited                EQU        50                    ; no param
  6100. mcActionGetDragEnabled            EQU        51                    ; param is pointer to Boolean
  6101. mcActionSetDragEnabled            EQU        52                    ; param is Boolean
  6102. mcActionGetSelectionBegin        EQU        53                    ; param is TimeRecord
  6103. mcActionGetSelectionDuration    EQU        54                    ; param is TimeRecord
  6104. mcActionPrerollAndPlay            EQU        55                    ; param is Fixed, play rate
  6105. mcActionGetCursorSettingEnabled    EQU        56                    ; param is pointer to Boolean
  6106. mcActionSetCursorSettingEnabled    EQU        57                    ; param is Boolean
  6107. mcActionSetColorTable            EQU        58                    ; param is CTabHandle
  6108. mcActionLinkToURL                EQU        59                    ; param is Handle to URL
  6109. mcActionCustomButtonClick        EQU        60                    ; param is pointer to EventRecord
  6110. mcActionForceTimeTableUpdate    EQU        61                    ; no param
  6111. mcActionSetControllerTimeLimits    EQU        62                    ; param is pointer to 2 time values min/max. do no send this message to controller. used internally only.
  6112. mcActionExecuteAllActionsForQTEvent EQU    63                    ; param is ResolvedQTEventSpecPtr
  6113. mcActionExecuteOneActionForQTEvent EQU    64                    ; param is ResolvedQTEventSpecPtr
  6114. mcActionAdjustCursor            EQU        65                    ; param is pointer to EventRecord (WindowPtr is in message parameter)
  6115. mcActionUseTrackForTimeTable    EQU        66                    ; param is pointer to {long trackID; Boolean useIt}. do not send this message to controller. 
  6116. mcActionClickAndHoldPoint        EQU        67                    ; param is point (local coordinates). return true if point has click & hold action (e.g., VR object movie autorotate spot)
  6117. ; typedef short                         mcAction
  6118.  
  6119.  
  6120. mcFlagSuppressMovieFrame        EQU        $01
  6121. mcFlagSuppressStepButtons        EQU        $02
  6122. mcFlagSuppressSpeakerButton        EQU        $04
  6123. mcFlagsUseWindowPalette            EQU        $08
  6124. mcFlagsDontInvalidate            EQU        $10
  6125. mcFlagsUseCustomButton            EQU        $20
  6126.  
  6127.  
  6128. mcPositionDontInvalidate        EQU        $20
  6129. ; typedef unsigned long                 mcFlags
  6130.  
  6131.  
  6132. kMCIEEnabledButtonPicture        EQU        1
  6133. kMCIEDisabledButtonPicture        EQU        2
  6134. kMCIEDepressedButtonPicture        EQU        3
  6135. kMCIEEnabledSizeBoxPicture        EQU        4
  6136. kMCIEDisabledSizeBoxPicture        EQU        5
  6137. kMCIEEnabledUnavailableButtonPicture EQU 6
  6138. kMCIEDisabledUnavailableButtonPicture EQU 7
  6139. kMCIESoundSlider                EQU        128
  6140. kMCIESoundThumb                    EQU        129
  6141. kMCIEColorTable                    EQU        256
  6142. kMCIEIsFlatAppearance            EQU        257
  6143. kMCIEDoButtonIconsDropOnDepress    EQU        258
  6144. ; typedef unsigned long                 MCInterfaceElement
  6145.  
  6146. ;    menu related stuff
  6147. ;
  6148.  
  6149.  
  6150. mcInfoUndoAvailable                EQU        $01
  6151. mcInfoCutAvailable                EQU        $02
  6152. mcInfoCopyAvailable                EQU        $04
  6153. mcInfoPasteAvailable            EQU        $08
  6154. mcInfoClearAvailable            EQU        $10
  6155. mcInfoHasSound                    EQU        $20
  6156. mcInfoIsPlaying                    EQU        $40
  6157. mcInfoIsLooping                    EQU        $80
  6158. mcInfoIsInPalindrome            EQU        $0100
  6159. mcInfoEditingEnabled            EQU        $0200
  6160. mcInfoMovieIsInteractive        EQU        $0400
  6161. ;  menu item codes
  6162.  
  6163. mcMenuUndo                        EQU        1
  6164. mcMenuCut                        EQU        3
  6165. mcMenuCopy                        EQU        4
  6166. mcMenuPaste                        EQU        5
  6167. mcMenuClear                        EQU        6
  6168.  
  6169.  
  6170.  
  6171. ;  target management 
  6172. ;
  6173. ; pascal ComponentResult MCSetMovie(MovieController mc, Movie theMovie, WindowPtr movieWindow, Point where)
  6174. ;
  6175.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6176.         Macro
  6177.         _MCSetMovie
  6178.             move.l              #$000C0002,-(sp)
  6179.             moveq               #0,D0
  6180.             dc.w                $A82A
  6181.         EndM
  6182.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6183.         IMPORT_CFM_FUNCTION MCSetMovie
  6184.     ENDIF
  6185.  
  6186. ;
  6187. ; pascal Movie MCGetIndMovie(MovieController mc, short index)
  6188. ;
  6189.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6190.         Macro
  6191.         _MCGetIndMovie
  6192.             move.l              #$00020005,-(sp)
  6193.             moveq               #0,D0
  6194.             dc.w                $A82A
  6195.         EndM
  6196.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6197.         IMPORT_CFM_FUNCTION MCGetIndMovie
  6198.     ENDIF
  6199.  
  6200.  
  6201. ;
  6202. ; pascal ComponentResult MCRemoveAllMovies(MovieController mc)
  6203. ;
  6204.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6205.         Macro
  6206.         _MCRemoveAllMovies
  6207.             move.l              #$00000006,-(sp)
  6208.             moveq               #0,D0
  6209.             dc.w                $A82A
  6210.         EndM
  6211.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6212.         IMPORT_CFM_FUNCTION MCRemoveAllMovies
  6213.     ENDIF
  6214.  
  6215. ;
  6216. ; pascal ComponentResult MCRemoveAMovie(MovieController mc, Movie m)
  6217. ;
  6218.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6219.         Macro
  6220.         _MCRemoveAMovie
  6221.             move.l              #$00040003,-(sp)
  6222.             moveq               #0,D0
  6223.             dc.w                $A82A
  6224.         EndM
  6225.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6226.         IMPORT_CFM_FUNCTION MCRemoveAMovie
  6227.     ENDIF
  6228.  
  6229. ;
  6230. ; pascal ComponentResult MCRemoveMovie(MovieController mc)
  6231. ;
  6232.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6233.         Macro
  6234.         _MCRemoveMovie
  6235.             move.l              #$00000006,-(sp)
  6236.             moveq               #0,D0
  6237.             dc.w                $A82A
  6238.         EndM
  6239.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6240.         IMPORT_CFM_FUNCTION MCRemoveMovie
  6241.     ENDIF
  6242.  
  6243. ;  event handling etc. 
  6244. ;
  6245. ; pascal ComponentResult MCIsPlayerEvent(MovieController mc, const EventRecord *e)
  6246. ;
  6247.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6248.         Macro
  6249.         _MCIsPlayerEvent
  6250.             move.l              #$00040007,-(sp)
  6251.             moveq               #0,D0
  6252.             dc.w                $A82A
  6253.         EndM
  6254.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6255.         IMPORT_CFM_FUNCTION MCIsPlayerEvent
  6256.     ENDIF
  6257.  
  6258. ;  obsolete. use MCSetActionFilterWithRefCon instead. 
  6259. ;
  6260. ; pascal ComponentResult MCSetActionFilter(MovieController mc, MCActionFilterUPP blob)
  6261. ;
  6262.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6263.         Macro
  6264.         _MCSetActionFilter
  6265.             move.l              #$00040008,-(sp)
  6266.             moveq               #0,D0
  6267.             dc.w                $A82A
  6268.         EndM
  6269.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6270.         IMPORT_CFM_FUNCTION MCSetActionFilter
  6271.     ENDIF
  6272.  
  6273. ;    proc is of the form:
  6274. ;        Boolean userPlayerFilter(MovieController mc, short *action, void *params) =
  6275. ;    proc returns TRUE if it handles the action, FALSE if not
  6276. ;    action is passed as a VAR so that it could be changed by filter
  6277. ;    this is consistent with the current dialog manager stuff
  6278. ;    params is any potential parameters that go with the action
  6279. ;        such as set playback rate to xxx.
  6280. ;
  6281.  
  6282. ;
  6283. ; pascal ComponentResult MCDoAction(MovieController mc, short action, void *params)
  6284. ;
  6285.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6286.         Macro
  6287.         _MCDoAction
  6288.             move.l              #$00060009,-(sp)
  6289.             moveq               #0,D0
  6290.             dc.w                $A82A
  6291.         EndM
  6292.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6293.         IMPORT_CFM_FUNCTION MCDoAction
  6294.     ENDIF
  6295.  
  6296. ;  state type things 
  6297. ;
  6298. ; pascal ComponentResult MCSetControllerAttached(MovieController mc, Boolean attach)
  6299. ;
  6300.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6301.         Macro
  6302.         _MCSetControllerAttached
  6303.             move.l              #$0002000A,-(sp)
  6304.             moveq               #0,D0
  6305.             dc.w                $A82A
  6306.         EndM
  6307.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6308.         IMPORT_CFM_FUNCTION MCSetControllerAttached
  6309.     ENDIF
  6310.  
  6311. ;
  6312. ; pascal ComponentResult MCIsControllerAttached(MovieController mc)
  6313. ;
  6314.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6315.         Macro
  6316.         _MCIsControllerAttached
  6317.             move.l              #$0000000B,-(sp)
  6318.             moveq               #0,D0
  6319.             dc.w                $A82A
  6320.         EndM
  6321.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6322.         IMPORT_CFM_FUNCTION MCIsControllerAttached
  6323.     ENDIF
  6324.  
  6325. ;
  6326. ; pascal ComponentResult MCSetControllerPort(MovieController mc, CGrafPtr gp)
  6327. ;
  6328.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6329.         Macro
  6330.         _MCSetControllerPort
  6331.             move.l              #$0004000C,-(sp)
  6332.             moveq               #0,D0
  6333.             dc.w                $A82A
  6334.         EndM
  6335.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6336.         IMPORT_CFM_FUNCTION MCSetControllerPort
  6337.     ENDIF
  6338.  
  6339. ;
  6340. ; pascal CGrafPtr MCGetControllerPort(MovieController mc)
  6341. ;
  6342.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6343.         Macro
  6344.         _MCGetControllerPort
  6345.             move.l              #$0000000D,-(sp)
  6346.             moveq               #0,D0
  6347.             dc.w                $A82A
  6348.         EndM
  6349.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6350.         IMPORT_CFM_FUNCTION MCGetControllerPort
  6351.     ENDIF
  6352.  
  6353. ;
  6354. ; pascal ComponentResult MCSetVisible(MovieController mc, Boolean visible)
  6355. ;
  6356.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6357.         Macro
  6358.         _MCSetVisible
  6359.             move.l              #$0002000E,-(sp)
  6360.             moveq               #0,D0
  6361.             dc.w                $A82A
  6362.         EndM
  6363.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6364.         IMPORT_CFM_FUNCTION MCSetVisible
  6365.     ENDIF
  6366.  
  6367. ;
  6368. ; pascal ComponentResult MCGetVisible(MovieController mc)
  6369. ;
  6370.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6371.         Macro
  6372.         _MCGetVisible
  6373.             move.l              #$0000000F,-(sp)
  6374.             moveq               #0,D0
  6375.             dc.w                $A82A
  6376.         EndM
  6377.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6378.         IMPORT_CFM_FUNCTION MCGetVisible
  6379.     ENDIF
  6380.  
  6381. ;
  6382. ; pascal ComponentResult MCGetControllerBoundsRect(MovieController mc, Rect *bounds)
  6383. ;
  6384.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6385.         Macro
  6386.         _MCGetControllerBoundsRect
  6387.             move.l              #$00040010,-(sp)
  6388.             moveq               #0,D0
  6389.             dc.w                $A82A
  6390.         EndM
  6391.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6392.         IMPORT_CFM_FUNCTION MCGetControllerBoundsRect
  6393.     ENDIF
  6394.  
  6395. ;
  6396. ; pascal ComponentResult MCSetControllerBoundsRect(MovieController mc, const Rect *bounds)
  6397. ;
  6398.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6399.         Macro
  6400.         _MCSetControllerBoundsRect
  6401.             move.l              #$00040011,-(sp)
  6402.             moveq               #0,D0
  6403.             dc.w                $A82A
  6404.         EndM
  6405.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6406.         IMPORT_CFM_FUNCTION MCSetControllerBoundsRect
  6407.     ENDIF
  6408.  
  6409. ;
  6410. ; pascal RgnHandle MCGetControllerBoundsRgn(MovieController mc)
  6411. ;
  6412.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6413.         Macro
  6414.         _MCGetControllerBoundsRgn
  6415.             move.l              #$00000012,-(sp)
  6416.             moveq               #0,D0
  6417.             dc.w                $A82A
  6418.         EndM
  6419.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6420.         IMPORT_CFM_FUNCTION MCGetControllerBoundsRgn
  6421.     ENDIF
  6422.  
  6423. ;
  6424. ; pascal RgnHandle MCGetWindowRgn(MovieController mc, WindowPtr w)
  6425. ;
  6426.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6427.         Macro
  6428.         _MCGetWindowRgn
  6429.             move.l              #$00040013,-(sp)
  6430.             moveq               #0,D0
  6431.             dc.w                $A82A
  6432.         EndM
  6433.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6434.         IMPORT_CFM_FUNCTION MCGetWindowRgn
  6435.     ENDIF
  6436.  
  6437.  
  6438. ;  other stuff 
  6439. ;
  6440. ; pascal ComponentResult MCMovieChanged(MovieController mc, Movie m)
  6441. ;
  6442.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6443.         Macro
  6444.         _MCMovieChanged
  6445.             move.l              #$00040014,-(sp)
  6446.             moveq               #0,D0
  6447.             dc.w                $A82A
  6448.         EndM
  6449.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6450.         IMPORT_CFM_FUNCTION MCMovieChanged
  6451.     ENDIF
  6452.  
  6453.  
  6454. ;    called when the app has changed thing about the movie (like bounding rect) or rate. So that we
  6455. ;        can update our graphical (and internal) state accordingly.
  6456. ;
  6457.  
  6458. ;
  6459. ; pascal ComponentResult MCSetDuration(MovieController mc, TimeValue duration)
  6460. ;
  6461.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6462.         Macro
  6463.         _MCSetDuration
  6464.             move.l              #$00040015,-(sp)
  6465.             moveq               #0,D0
  6466.             dc.w                $A82A
  6467.         EndM
  6468.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6469.         IMPORT_CFM_FUNCTION MCSetDuration
  6470.     ENDIF
  6471.  
  6472. ;    duration to use for time slider -- will be reset next time MCMovieChanged is called
  6473. ;        or MCSetMovie is called
  6474. ;
  6475.  
  6476. ;
  6477. ; pascal TimeValue MCGetCurrentTime(MovieController mc, TimeScale *scale)
  6478. ;
  6479.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6480.         Macro
  6481.         _MCGetCurrentTime
  6482.             move.l              #$00040016,-(sp)
  6483.             moveq               #0,D0
  6484.             dc.w                $A82A
  6485.         EndM
  6486.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6487.         IMPORT_CFM_FUNCTION MCGetCurrentTime
  6488.     ENDIF
  6489.  
  6490. ;    returns the time value and the time scale it is on. if there are no movies, the
  6491. ;        time scale is passed back as 0. scale is an optional parameter
  6492. ;
  6493. ;
  6494.  
  6495. ;
  6496. ; pascal ComponentResult MCNewAttachedController(MovieController mc, Movie theMovie, WindowPtr w, Point where)
  6497. ;
  6498.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6499.         Macro
  6500.         _MCNewAttachedController
  6501.             move.l              #$000C0017,-(sp)
  6502.             moveq               #0,D0
  6503.             dc.w                $A82A
  6504.         EndM
  6505.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6506.         IMPORT_CFM_FUNCTION MCNewAttachedController
  6507.     ENDIF
  6508.  
  6509. ;    makes theMovie the only movie attached to the controller. makes the controller visible.
  6510. ;    the window and where parameters are passed a long to MCSetMovie and behave as
  6511. ;    described there
  6512. ;
  6513.  
  6514. ;
  6515. ; pascal ComponentResult MCDraw(MovieController mc, WindowPtr w)
  6516. ;
  6517.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6518.         Macro
  6519.         _MCDraw
  6520.             move.l              #$00040018,-(sp)
  6521.             moveq               #0,D0
  6522.             dc.w                $A82A
  6523.         EndM
  6524.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6525.         IMPORT_CFM_FUNCTION MCDraw
  6526.     ENDIF
  6527.  
  6528. ;
  6529. ; pascal ComponentResult MCActivate(MovieController mc, WindowPtr w, Boolean activate)
  6530. ;
  6531.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6532.         Macro
  6533.         _MCActivate
  6534.             move.l              #$00060019,-(sp)
  6535.             moveq               #0,D0
  6536.             dc.w                $A82A
  6537.         EndM
  6538.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6539.         IMPORT_CFM_FUNCTION MCActivate
  6540.     ENDIF
  6541.  
  6542. ;
  6543. ; pascal ComponentResult MCIdle(MovieController mc)
  6544. ;
  6545.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6546.         Macro
  6547.         _MCIdle
  6548.             move.l              #$0000001A,-(sp)
  6549.             moveq               #0,D0
  6550.             dc.w                $A82A
  6551.         EndM
  6552.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6553.         IMPORT_CFM_FUNCTION MCIdle
  6554.     ENDIF
  6555.  
  6556. ;
  6557. ; pascal ComponentResult MCKey(MovieController mc, SInt8 key, long modifiers)
  6558. ;
  6559.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6560.         Macro
  6561.         _MCKey
  6562.             move.l              #$0006001B,-(sp)
  6563.             moveq               #0,D0
  6564.             dc.w                $A82A
  6565.         EndM
  6566.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6567.         IMPORT_CFM_FUNCTION MCKey
  6568.     ENDIF
  6569.  
  6570. ;
  6571. ; pascal ComponentResult MCClick(MovieController mc, WindowPtr w, Point where, long when, long modifiers)
  6572. ;
  6573.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6574.         Macro
  6575.         _MCClick
  6576.             move.l              #$0010001C,-(sp)
  6577.             moveq               #0,D0
  6578.             dc.w                $A82A
  6579.         EndM
  6580.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6581.         IMPORT_CFM_FUNCTION MCClick
  6582.     ENDIF
  6583.  
  6584.  
  6585. ;    calls for editing
  6586. ;
  6587.  
  6588. ;
  6589. ; pascal ComponentResult MCEnableEditing(MovieController mc, Boolean enabled)
  6590. ;
  6591.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6592.         Macro
  6593.         _MCEnableEditing
  6594.             move.l              #$0002001D,-(sp)
  6595.             moveq               #0,D0
  6596.             dc.w                $A82A
  6597.         EndM
  6598.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6599.         IMPORT_CFM_FUNCTION MCEnableEditing
  6600.     ENDIF
  6601.  
  6602. ;
  6603. ; pascal long MCIsEditingEnabled(MovieController mc)
  6604. ;
  6605.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6606.         Macro
  6607.         _MCIsEditingEnabled
  6608.             move.l              #$0000001E,-(sp)
  6609.             moveq               #0,D0
  6610.             dc.w                $A82A
  6611.         EndM
  6612.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6613.         IMPORT_CFM_FUNCTION MCIsEditingEnabled
  6614.     ENDIF
  6615.  
  6616. ;
  6617. ; pascal Movie MCCopy(MovieController mc)
  6618. ;
  6619.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6620.         Macro
  6621.         _MCCopy
  6622.             move.l              #$0000001F,-(sp)
  6623.             moveq               #0,D0
  6624.             dc.w                $A82A
  6625.         EndM
  6626.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6627.         IMPORT_CFM_FUNCTION MCCopy
  6628.     ENDIF
  6629.  
  6630. ;
  6631. ; pascal Movie MCCut(MovieController mc)
  6632. ;
  6633.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6634.         Macro
  6635.         _MCCut
  6636.             move.l              #$00000020,-(sp)
  6637.             moveq               #0,D0
  6638.             dc.w                $A82A
  6639.         EndM
  6640.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6641.         IMPORT_CFM_FUNCTION MCCut
  6642.     ENDIF
  6643.  
  6644. ;
  6645. ; pascal ComponentResult MCPaste(MovieController mc, Movie srcMovie)
  6646. ;
  6647.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6648.         Macro
  6649.         _MCPaste
  6650.             move.l              #$00040021,-(sp)
  6651.             moveq               #0,D0
  6652.             dc.w                $A82A
  6653.         EndM
  6654.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6655.         IMPORT_CFM_FUNCTION MCPaste
  6656.     ENDIF
  6657.  
  6658. ;
  6659. ; pascal ComponentResult MCClear(MovieController mc)
  6660. ;
  6661.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6662.         Macro
  6663.         _MCClear
  6664.             move.l              #$00000022,-(sp)
  6665.             moveq               #0,D0
  6666.             dc.w                $A82A
  6667.         EndM
  6668.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6669.         IMPORT_CFM_FUNCTION MCClear
  6670.     ENDIF
  6671.  
  6672. ;
  6673. ; pascal ComponentResult MCUndo(MovieController mc)
  6674. ;
  6675.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6676.         Macro
  6677.         _MCUndo
  6678.             move.l              #$00000023,-(sp)
  6679.             moveq               #0,D0
  6680.             dc.w                $A82A
  6681.         EndM
  6682.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6683.         IMPORT_CFM_FUNCTION MCUndo
  6684.     ENDIF
  6685.  
  6686.  
  6687. ; *    somewhat special stuff
  6688.  
  6689. ;
  6690. ; pascal ComponentResult MCPositionController(MovieController mc, const Rect *movieRect, const Rect *controllerRect, long someFlags)
  6691. ;
  6692.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6693.         Macro
  6694.         _MCPositionController
  6695.             move.l              #$000C0024,-(sp)
  6696.             moveq               #0,D0
  6697.             dc.w                $A82A
  6698.         EndM
  6699.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6700.         IMPORT_CFM_FUNCTION MCPositionController
  6701.     ENDIF
  6702.  
  6703.  
  6704. ;
  6705. ; pascal ComponentResult MCGetControllerInfo(MovieController mc, long *someFlags)
  6706. ;
  6707.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6708.         Macro
  6709.         _MCGetControllerInfo
  6710.             move.l              #$00040025,-(sp)
  6711.             moveq               #0,D0
  6712.             dc.w                $A82A
  6713.         EndM
  6714.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6715.         IMPORT_CFM_FUNCTION MCGetControllerInfo
  6716.     ENDIF
  6717.  
  6718.  
  6719.  
  6720. ;
  6721. ; pascal ComponentResult MCSetClip(MovieController mc, RgnHandle theClip, RgnHandle movieClip)
  6722. ;
  6723.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6724.         Macro
  6725.         _MCSetClip
  6726.             move.l              #$00080028,-(sp)
  6727.             moveq               #0,D0
  6728.             dc.w                $A82A
  6729.         EndM
  6730.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6731.         IMPORT_CFM_FUNCTION MCSetClip
  6732.     ENDIF
  6733.  
  6734. ;
  6735. ; pascal ComponentResult MCGetClip(MovieController mc, RgnHandle *theClip, RgnHandle *movieClip)
  6736. ;
  6737.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6738.         Macro
  6739.         _MCGetClip
  6740.             move.l              #$00080029,-(sp)
  6741.             moveq               #0,D0
  6742.             dc.w                $A82A
  6743.         EndM
  6744.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6745.         IMPORT_CFM_FUNCTION MCGetClip
  6746.     ENDIF
  6747.  
  6748.  
  6749. ;
  6750. ; pascal ComponentResult MCDrawBadge(MovieController mc, RgnHandle movieRgn, RgnHandle *badgeRgn)
  6751. ;
  6752.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6753.         Macro
  6754.         _MCDrawBadge
  6755.             move.l              #$0008002A,-(sp)
  6756.             moveq               #0,D0
  6757.             dc.w                $A82A
  6758.         EndM
  6759.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6760.         IMPORT_CFM_FUNCTION MCDrawBadge
  6761.     ENDIF
  6762.  
  6763. ;
  6764. ; pascal ComponentResult MCSetUpEditMenu(MovieController mc, long modifiers, MenuHandle mh)
  6765. ;
  6766.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6767.         Macro
  6768.         _MCSetUpEditMenu
  6769.             move.l              #$0008002B,-(sp)
  6770.             moveq               #0,D0
  6771.             dc.w                $A82A
  6772.         EndM
  6773.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6774.         IMPORT_CFM_FUNCTION MCSetUpEditMenu
  6775.     ENDIF
  6776.  
  6777. ;
  6778. ; pascal ComponentResult MCGetMenuString(MovieController mc, long modifiers, short item, Str255 aString)
  6779. ;
  6780.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6781.         Macro
  6782.         _MCGetMenuString
  6783.             move.l              #$000A002C,-(sp)
  6784.             moveq               #0,D0
  6785.             dc.w                $A82A
  6786.         EndM
  6787.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6788.         IMPORT_CFM_FUNCTION MCGetMenuString
  6789.     ENDIF
  6790.  
  6791. ;
  6792. ; pascal ComponentResult MCSetActionFilterWithRefCon(MovieController mc, MCActionFilterWithRefConUPP blob, long refCon)
  6793. ;
  6794.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6795.         Macro
  6796.         _MCSetActionFilterWithRefCon
  6797.             move.l              #$0008002D,-(sp)
  6798.             moveq               #0,D0
  6799.             dc.w                $A82A
  6800.         EndM
  6801.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6802.         IMPORT_CFM_FUNCTION MCSetActionFilterWithRefCon
  6803.     ENDIF
  6804.  
  6805. ;
  6806. ; pascal ComponentResult MCPtInController(MovieController mc, Point thePt, Boolean *inController)
  6807. ;
  6808.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6809.         Macro
  6810.         _MCPtInController
  6811.             move.l              #$0008002E,-(sp)
  6812.             moveq               #0,D0
  6813.             dc.w                $A82A
  6814.         EndM
  6815.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6816.         IMPORT_CFM_FUNCTION MCPtInController
  6817.     ENDIF
  6818.  
  6819. ;
  6820. ; pascal ComponentResult MCInvalidate(MovieController mc, WindowPtr w, RgnHandle invalidRgn)
  6821. ;
  6822.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6823.         Macro
  6824.         _MCInvalidate
  6825.             move.l              #$0008002F,-(sp)
  6826.             moveq               #0,D0
  6827.             dc.w                $A82A
  6828.         EndM
  6829.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6830.         IMPORT_CFM_FUNCTION MCInvalidate
  6831.     ENDIF
  6832.  
  6833. ;
  6834. ; pascal ComponentResult MCAdjustCursor(MovieController mc, WindowPtr w, Point where, long modifiers)
  6835. ;
  6836.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6837.         Macro
  6838.         _MCAdjustCursor
  6839.             move.l              #$000C0030,-(sp)
  6840.             moveq               #0,D0
  6841.             dc.w                $A82A
  6842.         EndM
  6843.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6844.         IMPORT_CFM_FUNCTION MCAdjustCursor
  6845.     ENDIF
  6846.  
  6847. ;
  6848. ; pascal ComponentResult MCGetInterfaceElement(MovieController mc, MCInterfaceElement whichElement, void *element)
  6849. ;
  6850.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6851.         Macro
  6852.         _MCGetInterfaceElement
  6853.             move.l              #$00080031,-(sp)
  6854.             moveq               #0,D0
  6855.             dc.w                $A82A
  6856.         EndM
  6857.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6858.         IMPORT_CFM_FUNCTION MCGetInterfaceElement
  6859.     ENDIF
  6860.  
  6861.  
  6862.  
  6863.  
  6864.  
  6865. ; ****************************************
  6866. ;*                                        *
  6867. ;*          T  I  M  E  B  A  S  E            *
  6868. ;*                                        *
  6869. ;***************************************
  6870.  
  6871. ;
  6872. ; pascal TimeBase NewTimeBase(void )
  6873. ;
  6874.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6875.         Macro
  6876.         _NewTimeBase
  6877.             move.w              #$00A5,D0
  6878.             dc.w                $AAAA
  6879.         EndM
  6880.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6881.         IMPORT_CFM_FUNCTION NewTimeBase
  6882.     ENDIF
  6883.  
  6884. ;
  6885. ; pascal void DisposeTimeBase(TimeBase tb)
  6886. ;
  6887.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6888.         Macro
  6889.         _DisposeTimeBase
  6890.             move.w              #$00B6,D0
  6891.             dc.w                $AAAA
  6892.         EndM
  6893.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6894.         IMPORT_CFM_FUNCTION DisposeTimeBase
  6895.     ENDIF
  6896.  
  6897. ;
  6898. ; pascal TimeValue GetTimeBaseTime(TimeBase tb, TimeScale s, TimeRecord *tr)
  6899. ;
  6900.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6901.         Macro
  6902.         _GetTimeBaseTime
  6903.             move.w              #$00A6,D0
  6904.             dc.w                $AAAA
  6905.         EndM
  6906.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6907.         IMPORT_CFM_FUNCTION GetTimeBaseTime
  6908.     ENDIF
  6909.  
  6910. ;
  6911. ; pascal void SetTimeBaseTime(TimeBase tb, const TimeRecord *tr)
  6912. ;
  6913.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6914.         Macro
  6915.         _SetTimeBaseTime
  6916.             move.w              #$00A7,D0
  6917.             dc.w                $AAAA
  6918.         EndM
  6919.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6920.         IMPORT_CFM_FUNCTION SetTimeBaseTime
  6921.     ENDIF
  6922.  
  6923. ;
  6924. ; pascal void SetTimeBaseValue(TimeBase tb, TimeValue t, TimeScale s)
  6925. ;
  6926.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6927.         Macro
  6928.         _SetTimeBaseValue
  6929.             move.w              #$00A8,D0
  6930.             dc.w                $AAAA
  6931.         EndM
  6932.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6933.         IMPORT_CFM_FUNCTION SetTimeBaseValue
  6934.     ENDIF
  6935.  
  6936. ;
  6937. ; pascal Fixed GetTimeBaseRate(TimeBase tb)
  6938. ;
  6939.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6940.         Macro
  6941.         _GetTimeBaseRate
  6942.             move.w              #$00A9,D0
  6943.             dc.w                $AAAA
  6944.         EndM
  6945.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6946.         IMPORT_CFM_FUNCTION GetTimeBaseRate
  6947.     ENDIF
  6948.  
  6949. ;
  6950. ; pascal void SetTimeBaseRate(TimeBase tb, Fixed r)
  6951. ;
  6952.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6953.         Macro
  6954.         _SetTimeBaseRate
  6955.             move.w              #$00AA,D0
  6956.             dc.w                $AAAA
  6957.         EndM
  6958.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6959.         IMPORT_CFM_FUNCTION SetTimeBaseRate
  6960.     ENDIF
  6961.  
  6962. ;
  6963. ; pascal TimeValue GetTimeBaseStartTime(TimeBase tb, TimeScale s, TimeRecord *tr)
  6964. ;
  6965.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6966.         Macro
  6967.         _GetTimeBaseStartTime
  6968.             move.w              #$00AB,D0
  6969.             dc.w                $AAAA
  6970.         EndM
  6971.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6972.         IMPORT_CFM_FUNCTION GetTimeBaseStartTime
  6973.     ENDIF
  6974.  
  6975. ;
  6976. ; pascal void SetTimeBaseStartTime(TimeBase tb, const TimeRecord *tr)
  6977. ;
  6978.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6979.         Macro
  6980.         _SetTimeBaseStartTime
  6981.             move.w              #$00AC,D0
  6982.             dc.w                $AAAA
  6983.         EndM
  6984.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6985.         IMPORT_CFM_FUNCTION SetTimeBaseStartTime
  6986.     ENDIF
  6987.  
  6988. ;
  6989. ; pascal TimeValue GetTimeBaseStopTime(TimeBase tb, TimeScale s, TimeRecord *tr)
  6990. ;
  6991.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6992.         Macro
  6993.         _GetTimeBaseStopTime
  6994.             move.w              #$00AD,D0
  6995.             dc.w                $AAAA
  6996.         EndM
  6997.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6998.         IMPORT_CFM_FUNCTION GetTimeBaseStopTime
  6999.     ENDIF
  7000.  
  7001. ;
  7002. ; pascal void SetTimeBaseStopTime(TimeBase tb, const TimeRecord *tr)
  7003. ;
  7004.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7005.         Macro
  7006.         _SetTimeBaseStopTime
  7007.             move.w              #$00AE,D0
  7008.             dc.w                $AAAA
  7009.         EndM
  7010.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7011.         IMPORT_CFM_FUNCTION SetTimeBaseStopTime
  7012.     ENDIF
  7013.  
  7014. ;
  7015. ; pascal long GetTimeBaseFlags(TimeBase tb)
  7016. ;
  7017.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7018.         Macro
  7019.         _GetTimeBaseFlags
  7020.             move.w              #$00B1,D0
  7021.             dc.w                $AAAA
  7022.         EndM
  7023.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7024.         IMPORT_CFM_FUNCTION GetTimeBaseFlags
  7025.     ENDIF
  7026.  
  7027. ;
  7028. ; pascal void SetTimeBaseFlags(TimeBase tb, long timeBaseFlags)
  7029. ;
  7030.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7031.         Macro
  7032.         _SetTimeBaseFlags
  7033.             move.w              #$00B2,D0
  7034.             dc.w                $AAAA
  7035.         EndM
  7036.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7037.         IMPORT_CFM_FUNCTION SetTimeBaseFlags
  7038.     ENDIF
  7039.  
  7040. ;
  7041. ; pascal void SetTimeBaseMasterTimeBase(TimeBase slave, TimeBase master, const TimeRecord *slaveZero)
  7042. ;
  7043.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7044.         Macro
  7045.         _SetTimeBaseMasterTimeBase
  7046.             move.w              #$00B4,D0
  7047.             dc.w                $AAAA
  7048.         EndM
  7049.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7050.         IMPORT_CFM_FUNCTION SetTimeBaseMasterTimeBase
  7051.     ENDIF
  7052.  
  7053. ;
  7054. ; pascal TimeBase GetTimeBaseMasterTimeBase(TimeBase tb)
  7055. ;
  7056.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7057.         Macro
  7058.         _GetTimeBaseMasterTimeBase
  7059.             move.w              #$00AF,D0
  7060.             dc.w                $AAAA
  7061.         EndM
  7062.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7063.         IMPORT_CFM_FUNCTION GetTimeBaseMasterTimeBase
  7064.     ENDIF
  7065.  
  7066. ;
  7067. ; pascal void SetTimeBaseMasterClock(TimeBase slave, Component clockMeister, const TimeRecord *slaveZero)
  7068. ;
  7069.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7070.         Macro
  7071.         _SetTimeBaseMasterClock
  7072.             move.w              #$00B3,D0
  7073.             dc.w                $AAAA
  7074.         EndM
  7075.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7076.         IMPORT_CFM_FUNCTION SetTimeBaseMasterClock
  7077.     ENDIF
  7078.  
  7079. ;
  7080. ; pascal ComponentInstance GetTimeBaseMasterClock(TimeBase tb)
  7081. ;
  7082.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7083.         Macro
  7084.         _GetTimeBaseMasterClock
  7085.             move.w              #$00B0,D0
  7086.             dc.w                $AAAA
  7087.         EndM
  7088.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7089.         IMPORT_CFM_FUNCTION GetTimeBaseMasterClock
  7090.     ENDIF
  7091.  
  7092. ;
  7093. ; pascal void ConvertTime(TimeRecord *inout, TimeBase newBase)
  7094. ;
  7095.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7096.         Macro
  7097.         _ConvertTime
  7098.             move.w              #$00B5,D0
  7099.             dc.w                $AAAA
  7100.         EndM
  7101.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7102.         IMPORT_CFM_FUNCTION ConvertTime
  7103.     ENDIF
  7104.  
  7105. ;
  7106. ; pascal void ConvertTimeScale(TimeRecord *inout, TimeScale newScale)
  7107. ;
  7108.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7109.         Macro
  7110.         _ConvertTimeScale
  7111.             move.w              #$00B7,D0
  7112.             dc.w                $AAAA
  7113.         EndM
  7114.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7115.         IMPORT_CFM_FUNCTION ConvertTimeScale
  7116.     ENDIF
  7117.  
  7118. ;
  7119. ; pascal void AddTime(TimeRecord *dst, const TimeRecord *src)
  7120. ;
  7121.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7122.         Macro
  7123.         _AddTime
  7124.             move.w              #$010C,D0
  7125.             dc.w                $AAAA
  7126.         EndM
  7127.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7128.         IMPORT_CFM_FUNCTION AddTime
  7129.     ENDIF
  7130.  
  7131. ;
  7132. ; pascal void SubtractTime(TimeRecord *dst, const TimeRecord *src)
  7133. ;
  7134.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7135.         Macro
  7136.         _SubtractTime
  7137.             move.w              #$010D,D0
  7138.             dc.w                $AAAA
  7139.         EndM
  7140.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7141.         IMPORT_CFM_FUNCTION SubtractTime
  7142.     ENDIF
  7143.  
  7144. ;
  7145. ; pascal long GetTimeBaseStatus(TimeBase tb, TimeRecord *unpinnedTime)
  7146. ;
  7147.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7148.         Macro
  7149.         _GetTimeBaseStatus
  7150.             move.w              #$010B,D0
  7151.             dc.w                $AAAA
  7152.         EndM
  7153.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7154.         IMPORT_CFM_FUNCTION GetTimeBaseStatus
  7155.     ENDIF
  7156.  
  7157. ;
  7158. ; pascal void SetTimeBaseZero(TimeBase tb, TimeRecord *zero)
  7159. ;
  7160.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7161.         Macro
  7162.         _SetTimeBaseZero
  7163.             move.w              #$0128,D0
  7164.             dc.w                $AAAA
  7165.         EndM
  7166.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7167.         IMPORT_CFM_FUNCTION SetTimeBaseZero
  7168.     ENDIF
  7169.  
  7170. ;
  7171. ; pascal Fixed GetTimeBaseEffectiveRate(TimeBase tb)
  7172. ;
  7173.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7174.         Macro
  7175.         _GetTimeBaseEffectiveRate
  7176.             move.w              #$0124,D0
  7177.             dc.w                $AAAA
  7178.         EndM
  7179.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7180.         IMPORT_CFM_FUNCTION GetTimeBaseEffectiveRate
  7181.     ENDIF
  7182.  
  7183.  
  7184. ; ****************************************
  7185. ;*                                        *
  7186. ;*          C  A  L  L  B  A  C  K             *
  7187. ;*                                        *
  7188. ;***************************************
  7189.  
  7190. ;
  7191. ; pascal QTCallBack NewCallBack(TimeBase tb, short cbType)
  7192. ;
  7193.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7194.         Macro
  7195.         _NewCallBack
  7196.             move.w              #$00EB,D0
  7197.             dc.w                $AAAA
  7198.         EndM
  7199.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7200.         IMPORT_CFM_FUNCTION NewCallBack
  7201.     ENDIF
  7202.  
  7203. ;
  7204. ; pascal void DisposeCallBack(QTCallBack cb)
  7205. ;
  7206.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7207.         Macro
  7208.         _DisposeCallBack
  7209.             move.w              #$00EC,D0
  7210.             dc.w                $AAAA
  7211.         EndM
  7212.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7213.         IMPORT_CFM_FUNCTION DisposeCallBack
  7214.     ENDIF
  7215.  
  7216. ;
  7217. ; pascal short GetCallBackType(QTCallBack cb)
  7218. ;
  7219.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7220.         Macro
  7221.         _GetCallBackType
  7222.             move.w              #$00ED,D0
  7223.             dc.w                $AAAA
  7224.         EndM
  7225.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7226.         IMPORT_CFM_FUNCTION GetCallBackType
  7227.     ENDIF
  7228.  
  7229. ;
  7230. ; pascal TimeBase GetCallBackTimeBase(QTCallBack cb)
  7231. ;
  7232.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7233.         Macro
  7234.         _GetCallBackTimeBase
  7235.             move.w              #$00EE,D0
  7236.             dc.w                $AAAA
  7237.         EndM
  7238.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7239.         IMPORT_CFM_FUNCTION GetCallBackTimeBase
  7240.     ENDIF
  7241.  
  7242. ;
  7243. ; pascal OSErr CallMeWhen(QTCallBack cb, QTCallBackUPP callBackProc, long refCon, long param1, long param2, long param3)
  7244. ;
  7245.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7246.         Macro
  7247.         _CallMeWhen
  7248.             move.w              #$00B8,D0
  7249.             dc.w                $AAAA
  7250.         EndM
  7251.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7252.         IMPORT_CFM_FUNCTION CallMeWhen
  7253.     ENDIF
  7254.  
  7255. ;
  7256. ; pascal void CancelCallBack(QTCallBack cb)
  7257. ;
  7258.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7259.         Macro
  7260.         _CancelCallBack
  7261.             move.w              #$00B9,D0
  7262.             dc.w                $AAAA
  7263.         EndM
  7264.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7265.         IMPORT_CFM_FUNCTION CancelCallBack
  7266.     ENDIF
  7267.  
  7268.  
  7269. ; ****************************************
  7270. ;*                                        *
  7271. ;*          C L O C K   C A L L B A C K      *
  7272. ;*                S U P P O R T              *
  7273. ;*                                        *
  7274. ;***************************************
  7275.  
  7276. ;
  7277. ; pascal OSErr AddCallBackToTimeBase(QTCallBack cb)
  7278. ;
  7279.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7280.         Macro
  7281.         _AddCallBackToTimeBase
  7282.             move.w              #$0129,D0
  7283.             dc.w                $AAAA
  7284.         EndM
  7285.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7286.         IMPORT_CFM_FUNCTION AddCallBackToTimeBase
  7287.     ENDIF
  7288.  
  7289. ;
  7290. ; pascal OSErr RemoveCallBackFromTimeBase(QTCallBack cb)
  7291. ;
  7292.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7293.         Macro
  7294.         _RemoveCallBackFromTimeBase
  7295.             move.w              #$012A,D0
  7296.             dc.w                $AAAA
  7297.         EndM
  7298.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7299.         IMPORT_CFM_FUNCTION RemoveCallBackFromTimeBase
  7300.     ENDIF
  7301.  
  7302. ;
  7303. ; pascal QTCallBack GetFirstCallBack(TimeBase tb)
  7304. ;
  7305.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7306.         Macro
  7307.         _GetFirstCallBack
  7308.             move.w              #$012B,D0
  7309.             dc.w                $AAAA
  7310.         EndM
  7311.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7312.         IMPORT_CFM_FUNCTION GetFirstCallBack
  7313.     ENDIF
  7314.  
  7315. ;
  7316. ; pascal QTCallBack GetNextCallBack(QTCallBack cb)
  7317. ;
  7318.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7319.         Macro
  7320.         _GetNextCallBack
  7321.             move.w              #$012C,D0
  7322.             dc.w                $AAAA
  7323.         EndM
  7324.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7325.         IMPORT_CFM_FUNCTION GetNextCallBack
  7326.     ENDIF
  7327.  
  7328. ;
  7329. ; pascal void ExecuteCallBack(QTCallBack cb)
  7330. ;
  7331.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7332.         Macro
  7333.         _ExecuteCallBack
  7334.             move.w              #$012D,D0
  7335.             dc.w                $AAAA
  7336.         EndM
  7337.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7338.         IMPORT_CFM_FUNCTION ExecuteCallBack
  7339.     ENDIF
  7340.  
  7341.  
  7342.  
  7343.  
  7344.  
  7345. ;
  7346. ; pascal ComponentResult MusicMediaGetIndexedTunePlayer(ComponentInstance ti, long sampleDescIndex, ComponentInstance *tp)
  7347. ;
  7348.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7349.         Macro
  7350.         _MusicMediaGetIndexedTunePlayer
  7351.             move.l              #$00080101,-(sp)
  7352.             moveq               #0,D0
  7353.             dc.w                $A82A
  7354.         EndM
  7355.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7356.         IMPORT_CFM_FUNCTION MusicMediaGetIndexedTunePlayer
  7357.     ENDIF
  7358.  
  7359.  
  7360.  
  7361. ;  UPP call backs 
  7362.  
  7363.     ENDIF ; __MOVIES__ 
  7364.  
  7365.